3 回答
TA贡献1864条经验 获得超6个赞
班级名称
首先,如果您确定要从正确命名的类扩展,例如React.Component,而不是React.component或React.createComponent,则可能需要升级React版本。有关要扩展的类的更多信息,请参阅下面的答案。
升级React
自版本0.13.0起,React仅支持ES6风格的类(请参阅此处有关支持介绍的官方博客文章。
在此之前,使用时:
class HelloMessage extends React.Component
您试图使用ES6关键字(extends
)从未使用ES6定义的类中继承子类class
。这可能是您遇到super
定义等奇怪行为的原因。
所以,是的,TL; DR - 更新到React v0.13.x.
循环依赖
如果您具有循环导入结构,也会发生这种情况。一个模块导入另一个模块,反之亦然。在这种情况下,您只需要重构代码以避免它。更多信息
TA贡献1830条经验 获得超9个赞
这意味着你想要子类,应该是Class
,但是undefined
。原因可能是:
错字输入
Class extends ...
,所以你扩展未定义的变量错字输入
import ... from
,所以你undefined
从模块导入引用模块不包含值,您想要导入(例如过时模块 - 使用React的情况),因此您导入非现有值(
undefined
)参考模块
export ...
语句中的拼写错误,因此它导出未定义的变量引用模块缺少
export
语句,所以它只导出undefined
TA贡献1853条经验 获得超18个赞
它也可能是由拼写错误引起的,所以不是Component使用大写C,而是component使用较低的c,例如:
React.component //wrong.
React.Component //correct.
注意: 此错误的来源可能是因为存在React并且我们自动认为接下来的应该是以小写字母开头的react方法或属性,但实际上它是另一个Class(Component)应该以大写字母开头。
添加回答
举报