假设我定义了一个这样的组件:
const myComponent = class MyComponent extends React.Component {}
以后我想在这个定义的组件中添加一个构造函数:
myComponent.constructor = function(props) {
super(props)
this.state = { hello: 'world' }
}
有人知道这是否可行?如果是这样,有人知道与上述相比,实施方面需要哪些差异?谢谢!
答案 0 :(得分:2)
您不能覆盖es6类的构造函数。你可以用es5类来实现它,所以它可以用babel工作(而且很脆弱)。
您可以使用其他方法
MyComponent.prototype.methodName = function() {}
这是IMO缺失的功能,因为它可以更好地依赖注入。
如果TC39应该偶然发现这个页面,我很乐意拥有Reflect.setConstructor。