我正在使用ReactJS。

当我运行下面的代码时,浏览器会显示:

Uncaught TypeError:超级表达式必须为null或函数,不能为undefined

任何关于哪里出了问题的提示都会让我感激不尽。

首先是用来编译代码的行:

browserify -t reactify -t babelify examples/temp.jsx  -o examples/public/app.js

代码是:

var React = require('react');

class HelloMessage extends React.Component {
  render() {
    return <div>Hello </div>;
  }
}

更新: 在这个问题上在地狱火里燃烧了三天之后,我发现我没有使用react的最新版本。

全球安装:

sudo npm install -g react@0.13.2

在本地安装:

npm install react@0.13.2

确保浏览器使用正确的版本:

<script type="text/javascript" src="react-0.13.2.js"></script>

希望这能挽救别人三天宝贵的生命。


当前回答

如果您在导入或类生成中有拼写错误,可能只是这样。

其他回答

这招对我很管用:

import React, {Component} from 'react';

使用Babel(5.8),如果我尝试将表达式export default与其他一些导出结合使用,我会得到相同的错误:

export const foo = "foo"
export const bar = "bar"
export default function baz() {}

当你有一个循环依赖时,我看到过这个错误。

class A extends B {}
class B extends C {}
class C extends A {}

当我的导入有一个错字时,我得到了这个:

import {Comonent} from 'react';

我也有同样的问题因为"反应时刻"

将其替换为'moment'库