React.js - 为所有组件方法使用属性初始值设定项

时间:2016-03-03 00:35:33

标签: javascript reactjs react-native babeljs

我正在研究React Native项目,并且我正在使用ES6类来实现React组件。

由于通过ES6类定义的React组件没有自动绑定,React团队recommends将ES7属性初始值设定项与箭头函数相结合,以创建相同的效果。

为了保持一致并防止与此绑定混淆,我正在为所有组件方法使用ES7属性初始值设定项:

class Foo extends React.Component {
  constructor(props) {
    super(props);
    ...
  }

  componentDidMount = () => {
      ...
  };

  bar = () => {
    ...
  };

  render = () => {
    ...
  };
}

我在想 - 是否有任何严重的表现警告需要注意?特别是,我想知道render()方法。

总的来说,这看起来是一个好方法吗?

1 个答案:

答案 0 :(得分:11)

最大的警告是,这个特殊功能尚未达标,也未达成一致。 (由于没有ES7,它不会成为ES7。也许ES2017但仍不清楚。)

分配几个新的长寿命对象并将它们存储在类中也会有成本。

我不推荐这个。仅用于回调。