React中ButcherShop组件渲染失败求助:TypeError错误排查
解决React组件报错:TypeError: Super expression must either be null or a function, not undefined
嘿,这个错误我一眼就揪出问题啦!你代码里的这一行:
export class ButcherShop extends React.component{
这里的component首字母必须大写成Component——这就是导致报错的核心原因。
为什么会报错?
React提供的组件基类是**React.Component**(注意大写的C),而小写的React.component是不存在的,相当于你在尝试继承一个undefined的东西。JavaScript在处理类继承时,要求super表达式必须是null或者一个函数,所以当它发现你继承的是undefined时,就抛出了这个错误。这也是为什么你的组件渲染不出来、DOM里完全没有内容的原因——组件类根本就没正确创建成功。
修复方法
把基类的拼写改成大写的Component就行:
export class ButcherShop extends React.Component { // 你的组件逻辑、生命周期函数、render方法等都放在这里 }
额外排查点(如果修复后还有问题)
- 确认你已经在文件顶部正确导入了React:
import React from 'react'; - 检查组件内部的其他代码,比如
render方法有没有拼写错误,或者有没有返回null/undefined的情况(不过目前来看主要问题还是基类的拼写)
内容的提问来源于stack exchange,提问作者david hazlett jr
相关产品推荐
相关产品推荐

