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

标签 javascript reactjs react-native babeljs

我正在做一个 React Native 项目,我正在为 React 组件使用 ES6 类。

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

为了保持一致并防止与 this-binding 混淆,我对所有组件方法都使用了 ES7 属性初始值设定项:

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

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

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

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

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

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

最佳答案

最大的警告是这个特殊的功能不是标准的,也没有达成一致。 (不会是 ES7,因为没有 ES7。可能是 ES2017,但仍不清楚。)

分配几个新的长期存在的对象并将它们存储在类中也是有代价的。

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

关于javascript - React.js - 为所有组件方法使用属性初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760982/

相关文章:

javascript - Node : Know when all http requests are finished

Shadow DOM 中的 JavaScript 最佳实践

javascript - 添加新项目 React 时状态数组未正确更新?

javascript - 无法读取 Reactnative 中 null 错误的属性 'bindings'

react-native - 在React Native中显示来自URL的外部SVG图像

javascript - 添加第二个类不起作用

javascript - 使用javascript创建文本文件

javascript - React Style Prop 不反射(reflect)在 IE 中

javascript - 在将它们的返回数据用于另一个函数调用之前,如何等待多个 promise 全部完成?

react-native - 如何在不重新渲染所有子组件的情况下更新 material-bottom-tabs 徽章文本?