react 、redux学习总结

1、生命周期流程图

在这里插入图片描述

2、关于this

  • 自定义事件需要在constructor里面绑定this,或使用ES6的箭头函数
export default class myComponent extends React.Component {
	constructor(props) {
	      super(props);
	      this.handerClick = this.handerClick.bind(this);
	}
	
	handerClick (){
		//xxx
	}

    hander4Click = () =>{
    	//xxx
    }
}

3、ajax请求的方式

  • axios: 轻量级, 建议使用

a. 封装XmlHttpRequest对象的ajax
b. promise风格
c. 可以用在浏览器端和node服务器端

  • fetch: 原生函数, 但老版本浏览器不支持

a. 不再使用XmlHttpRequest对象提交ajax请求
b. 为了兼容低版本的浏览器, 可以引入兼容库fetch.js

  • axios
// 1)	GET请求
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });


// 2)	POST请求
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

  • fetch
//1)	GET请求
fetch(url).then(function(response) {
  return response.json()
}).then(function(data) {
  console.log(data)
}).catch(function(e) {
  console.log(e)
});

//2)	POST请求
fetch(url, {
  method: "POST",
  body: JSON.stringify(data),
}).then(function(data) {
  console.log(data)
}).catch(function(e) {
  console.log(e)
})

4、ES6常用新语法

  1. 定义常量/变量: const/let

  2. 解构赋值: let {a, b} = this.props import {aa} from ‘xxx’

  3. 对象的简洁表达: {a, b}

  4. 箭头函数:

    a. 常用场景
    * 组件的自定义方法: xxx = () => {}
    * 参数匿名函数

    // ES5
    input.map(item => item + 1);
    
    // ES6
    input.map(function (item) {
      return item + 1;
    });
    

    b. 优点:
    * 简洁
    * 没有自己的this,使用引用this查找的是外部this

  5. 扩展(三点)运算符: 拆解对象(const MyProps = {}, <Xxx {…MyProps}>)

  6. 类: class/extends/constructor/super

  7. ES6模块化: export default | import

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值