广州凡科互联网科技有限公司

营业时间
MON-SAT 9:00-18:00

全国服务热线
18720358503

公司门店地址
广州市海珠区工业大道北67号凤凰创意园

微信小程序是多少钱_react完成pure render时bind(thi

日期:2021-01-12 浏览:
react实现pure render时bind(this)隐患需注意!       这篇文章主要为大家详细介绍了值得你在react实现pure render的时候,需要注意的bind(this)隐患,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

pure render 我就不多说了,附上我另一片文章链接

不论你用不用immutable,只要你想达到pure render,下面值得你注意!

一天我和往常一样,开开心心得写着react,,

export default class extends Component {
 render() {
 const {name,age} =this.state;
 return (
 div 
 Person name={name} age={age} this._handleClick.bind(this)} /Person //bug 所在
 /div 
}

发现一个问题,对于Person这个子组件来说,在父组件re-render的时候,即使Person得前后两个pro凡科抠图都没改变,它依旧会re-render,即使用immutable.js也不好使。

原来啊,父组件每次render,_handleClick都会执行bind(this) 这样_handleClick的引用每次都会改,所以Person前后两次pro凡科抠图其实是不一样的。

那怎么办?把bind(this)去掉?不行 还必须得用

真正的答案是 让父组件每次render 不执行bind(this),直接提前在constructor执行好,修改之后

export default class extends Component {
 constructor(pro凡科抠图){
 super(pro凡科抠图)
 this._handleClick=this._handleClick.bind(this)//改成这样
 render() {
 const {name,age} =this.state;
 return (
 div 
 Person name={name} age={age} this._handleClick} /Person 
 /div 

参考:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。



新闻资讯

联系方式丨CONTACT

  • 全国热线:18720358503
  • 传真热线:18720358503
  • Q Q咨询:2639601583
  • 企业邮箱:2639601583@qq.com

首页
电话
短信
联系