React 性能优化

React 性能优化

  • React组件性能优化

单一组件中

		 // 推荐在constructor中bind,只执行一次
 		 constructor(props) {
    		super(props)
    		this.state = {
   			 }
    		this.handleClick=this.handleClick.bind(this)
  		}
        <button onClick={this.handleClick}>btn1</button>
		还有一种ES7写法,定义方法时用箭头函数
		handle = ()=>{}

        // 每次render,都会触发bind
        <button onClick={this.handleClick.bind(this)}>btn2</button>
        // 每次render,都会新生成内存地址
        <button onClick={()=>this.handleClick}>btn3</button>

		// 组件赋值对象时,在render外定义变量接受
		// render中...data 慎用

组件嵌套
只是改变父组件中props和state,而子组件中props属性未改变,但子组件还是render 。提供了一个钩子函数 shouldComponentUpdata方法

// 子组件
shouldComponentUpdata(nextProps,nextState){
//浅比较,深比较较烦,判断对象  所以有了immutable.js
	if(nextProps.item == this.props.item){
		return false
	}
	return true
}
还有一种React.PureComponent
immutable.js

immutable.js
主要是Map 和 is

  • Redux 性能优化

reselect.js
数据缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值