我正在做一个 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/