为了优化react的性能,我们都知道尽量减少re-render的次数,对于使用bind肯定都会re-render
class someComp extends Component { handleClick() { } render() { const list = this.props.data.list; <ul> {list.map((item, index) => { return ( <li key={item.id} onClick={this.handleClick.bind(this, index, item.id)}></li> ) })} </ul> } }
如上,因为每次bind后函数指向都是一个新的地址,因此不管list有没有变化,这个组件都re-render掉了
因此都会注意把handleClick放在constructor中或ES8的方法等等,参考not use bind
但我若需要传递参数时,如上述想传递每条数据的id和index等,或很多时候想传递额外的参数,这种时候上述方法就不起作用了,请问下该怎么解决这种问题
相关分类