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) {
}
有没有一种方法可以抑制错误,还是应该考虑其他一些策略?
答案 0 :(得分:0)
我从一开始就不会期望这样做。让我们检查一下这个extends-classes
库的工作方式。
classes
函数返回一个伪类,该伪类在其构造函数中遍历作为classes
函数的参数列出的所有类,并将所有函数和属性复制到上述伪类。然后,它调用所有类的构造函数。
tl; dr:它将所有内容融合在一起,因此您实际上从中扩展的类不是React.Component
的实际实例。这很可能是您收到此错误的原因。
不要和语言打架。该语言不支持多重继承。我可以建议您改用composition over inheritance吗?