var Foo = require('Foo');
Foo.prototye.componentDidMount = () => {};
我导入了 Foo,但对于我使用它的情况,我想重写其原型(prototype)上的 componentDidMount 函数。我知道这是一个 hack:(
如果我这样做,我担心在使用 Foo 的其他情况下,它的原型(prototype)也会被更改。
有没有一种方法可以在本质上将原型(prototype)更改“范围”更改到此文件中?
最佳答案
没有。构造函数全局存在。但是,如果您有权访问其构造函数,则可以创建 Foo 的子类。在您的示例中,似乎正在导入 Foo instance,而不是构造函数,所以我不确定这是不是一个选项。但这是您要做的。
function Bar() {
// ...
}
Bar.prototype = new FooConstructor(); // Must be a separate instance!
Bar.prototype.bar = () => {};
var MyFooExtension = new Bar();
编辑:忘记了,大多数对象都应该有一个constructor
属性。所以你可以替换这一行:
Bar.prototype = new Foo.constructor();
关于javascript - 更改所需 React 组件的原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30582995/