Reactjs React router错误:超级表达式必须为null或函数
我是新来的。我在做出如下反应后将其包括在内:Reactjs React router错误:超级表达式必须为null或函数,reactjs,react-router,Reactjs,React Router,我是新来的。我在做出如下反应后将其包括在内: <script src="http://fb.me/react-0.12.2.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/reactrouter/0.13.2/ReactRouter.js"></script> 我有一个错误: 未捕获的TypeError:超级表达式必须为null或函数,而不是未定义的 我做错了
<script src="http://fb.me/react-0.12.2.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/reactrouter/0.13.2/ReactRouter.js"></script>
我有一个错误:
未捕获的TypeError:超级表达式必须为null或函数,而不是未定义的
我做错了什么?虽然这个问题已经解决,但我发布了一个解决方案,因为我有一个类似的问题。希望它能对其他人有所帮助 我没有用路由器。我使用React with Webpack,Babel作为加载程序。我犯的错误和JustWonder说的一样 我在使用ES6课程。原来,我已经打过了
class App extends React.component {...}
将
React.component
更改为React.component
(大写字母“C”)为我解决了这个问题。我通过将React版本升级到0.13.3解决了这个问题
npm install react@0.13.3
我遇到了另一个可能发生这种情况的场景 我将
v0.13.x
作为一个直接依赖项,而我的一个依赖项具有v0.12.x
——因此我的包中包含了两个React副本。这意味着使用ES6类的组件试图扩展一个不存在的React.Component
(他们得到React的v0.12.x
)
我通过查看react在我的节点\u模块中的拷贝数来诊断此问题:
npm ls | grep react@
这给了我以下的结果:
├── react@0.13.3
│ └── react@0.12.2
grep
的-C
选项允许您查看周围的行,因此我重新运行:
npm ls | grep react@0.12.2 -C 5
周围的文字使我能够识别出有问题的软件包。您是否尝试过更新版本的React?现在是0.13.1
。谁抛出了错误?react,react路由器,其他javascript代码?您在哪个浏览器中看到错误?是最新版本的Chrome浏览器上的react router。我将react更新为0.13.1,问题就解决了。谢谢你,谢谢你!我还必须将react路由器更改为0.13.3。我有0.14.7,我有这样的路由器issue@Edward:你把react路由器也更新到最新版本了吗?这个该死的东西也解决了我的问题。如果您拼错了“React.Component”,您可能会遇到这个错误。而且它是区分大小写的,所以要注意它。我会放组件而不是组件