React-router error: super expression must either be null or a function
React-router error: super expression must either be null or a function
我是 react-router 的新手 (https://github.com/rackt/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>
我收到一个错误:
未捕获的类型错误:超级表达式必须为 null 或函数,而不是未定义的
我做错了什么?
虽然这个问题已经解决了,但由于我遇到了类似的问题,所以我发布了一个解决方案。希望对其他人有所帮助。
我没有使用 React Router。我将 React 与 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 类 的组件试图 extend
一个不存在的 React.Component
(他们正在获取 React 的 v0.12.x
)。
我通过查看我的 node_modules
中有多少份 React 来诊断这个问题:
npm ls | grep react@
这给了我以下结果:
├── react@0.13.3
│ └── react@0.12.2
grep
的 -C
选项允许您查看周围的线条,所以我重新 运行:
npm ls | grep react@0.12.2 -C 5
周围的文字让我能够识别出有问题的包。
我是 react-router 的新手 (https://github.com/rackt/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>
我收到一个错误: 未捕获的类型错误:超级表达式必须为 null 或函数,而不是未定义的
我做错了什么?
虽然这个问题已经解决了,但由于我遇到了类似的问题,所以我发布了一个解决方案。希望对其他人有所帮助。
我没有使用 React Router。我将 React 与 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 类 的组件试图 extend
一个不存在的 React.Component
(他们正在获取 React 的 v0.12.x
)。
我通过查看我的 node_modules
中有多少份 React 来诊断这个问题:
npm ls | grep react@
这给了我以下结果:
├── react@0.13.3
│ └── react@0.12.2
grep
的 -C
选项允许您查看周围的线条,所以我重新 运行:
npm ls | grep react@0.12.2 -C 5
周围的文字让我能够识别出有问题的包。