react 相关优化
<div onClick={this.OnClick.bind(this)}></div>
② 使用函数式声明事件:
<div onClick={()=>this.OnClick()}></div>
③ 在按钮内声明,在constructor内绑定:
constructor(props) { super(props); this.OnClick = this.OnClick.bind(this) } render(){ return( <div onClick={this.OnClick}></div> ) }
结论 三者对性能优化的优先级为③>②>①
二、关于组件传值
render() { return (<div > <Demo name={{ age: 18 }} /> </div>); }
let name={ age: 18 } render() { return (<div > <Demo name={name} /> </div>); }
结论 两者对性能优化的优先级为②>①
② React.PureComponent 替换 React.Component
这比自己写shouldComponentUpdate函数进行比较来的简单且性能更好,但只适用于组件只根据传进来的数据进行渲染而没有内部状态时使用,可以最大限度的提升性能。
③ ImmutableJS:() (Immutable.js 采用了持久化数据结构
和结构共享
,保证每一个对象都是不可变的,任何添加、修改、删除等操作都会生成一个新的对象,且通过结构共享
等方式大幅提高性能。https://github.com/immutable-js/immutable-js)