将生命周期方法作为类属性箭头函数进行响应

时间:2018-11-20 12:01:28

标签: javascript reactjs ecmascript-6

我现在在一个偏心的React代码库中工作,其中所有组件函数都被编写为类属性箭头函数,例如

componentDidMount = async () => {
  console.log('componentDidMount');
};

当然,绑定这样的生命周期方法没有任何好处。但是,我想知道是否存在潜在的弊端,也许是在React的继承中。

1 个答案:

答案 0 :(得分:0)

我看到了类属性箭头功能的缺点:想象一下某种网格,其中每个单元格都是同一React组件类的实例。如果生命周期函数是普通函数,则它们在原型中仅在内存中存在一次。如果它们是类属性箭头函数,则每个单元将具有其自己的函数副本。如评论中提到的Medium article所述,这将影响性能。 (该文章中声称缺少原型会使测试复杂化)。

(顺便说一句,似乎值得一提的是,随着采用React挂钩,整个主题可能会过时。)