React组件性能优化
纯函数1.PureRender是React组件开发中一个重要的概念,PureRender中的Pure指的就是组件满足纯函数的条件, shallowEqual(obj,newObj) { if (obj === newObj) { return true; } const objKeys = Object.keys(obj); const newObjKeys = Object.keys(newObj); if (objKeys.length !== newObjKeys.length) { return false; } // 关键代码,} shouldComponentUpdate(props,state) { console.log(props); console.log(state); if (state.a === 3) { return false; } return true; } key1.写动态子组件的时候,如果没有给动态子项添加key prop,则会报一个警告. class Collections extends Component { constructor(props) { super(props); this.state = { a: 1,array: [{ sid: '1',name: 'aaa' },{ sid: '2',name: 'bbb' },{ sid: '3',name: 'ccc' }] } } render() { return ( <div className="collections"> { this.state.array.map((item,index) => { return ( <div key={ item.sid }>{ item.name }</div> ) }) } </div> ); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |