Component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change <Test> to extend React.Component instead
使用extends-classes库导致 react 组件渲染失败并出现上述错误。我想编写一个包含 React.Component 方法和包含在不同类中的其他一些方法的类,以便我可以更简洁地拆分代码。
示例:
class Test extends classes (React.Component, OtherTestClass) {
}
有没有办法抑制错误或者我应该考虑其他策略?
最佳答案
我一开始就没有想到这会起作用。让我们看看这个extends-classes
库是如何工作的。
classes
函数返回一个虚拟类,该类在其构造函数中遍历作为 classes
函数参数列出的所有类,并将所有函数和属性复制到上述虚拟类类(class)。然后它调用所有类的构造函数。
tl;dr:它将所有内容混合在一起,因此您实际扩展的类不是 React.Component
的实际实例。这很可能就是您收到此错误的原因。
不要对抗语言。该语言不支持多重继承。我可以建议您使用composition over inheritance相反?
关于javascript - 组件有 Render 方法,但没有扩展 React.Component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58019555/