zookeeper python接口实例详解
240
2023-06-04
react实现pure render时bind(this)隐患需注意!
pure render 我就不多说了,附上我另一片文章链接 react如http://何性能达到最大化(前传)
不论你用不用immutable,只要你想达到pure render,下面值得你注意!
一天我和往常一样,开开心心得写着react,用着@pureRender,
export default class extends Component {
...
render() {
const {name,age} =this.state;
return (
)
}
...
}
发现一个问题,对于Person这个子组件来说,在父组件re-render的时候,即使Person得前后两个props都没改变,它依旧会re-render,即使用immutablehttp://.js也不好使。
原来啊,父组件每次render,_handleClick都会执行bind(this) 这样_handleClick的引用每次都会改,所以Person前后两次props其实是不一样的。
那怎么办?把bind(this)去掉?不行 还必须得用
真正的答案是 让父组件每次render 不执行bind(this),直接提前在constructor执行好,修改之后
export default class extends Component {
constructor(props){
super(props)
this._handleClick=this._handleClick.bind(this)//改成这样
}
render() {
const {name,age} =this.state;
return (
)
}
...
}
参考:React.js pure render performance anti-pattern
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~