假设我定义了一个这样的组件:
const myComponent = class MyComponent extends React.Component {}稍后,我想向已定义的组件添加一个构造函数,如下所示:
myComponent.constructor = function(props) {
super(props)
this.state = { hello: 'world' }
}有没有人知道这是否可能?如果是这样的话,有没有人知道与上述相比,在实现上需要有什么不同?谢谢!
发布于 2018-01-24 16:13:12
不能重写es6类的构造函数。你可以用es5类来做这件事,所以它可以用babel来工作(而且很脆弱)。
对于其他方法,您可以这样做
MyComponent.prototype.methodName = function() {}这是一个缺少的特性,因为它将允许更好的依赖注入。
如果TC39偶然发现了这个页面,我希望有Reflect.setConstructor。
https://stackoverflow.com/questions/39067004
复制相似问题