為了優化react的性能,我們都知道盡量減少re-render的次數,對于使用bind肯定都會re-renderclass 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等,或很多時候想傳遞額外的參數,這種時候上述方法就不起作用了,請問下該怎么解決這種問題
react需要bind傳參時怎樣pure-render
慕虎7371278
2018-10-17 10:30:22