我正在使用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>

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


当前回答

检查类你扩展实际上存在,少数React方法被贬低,这也可能是一个打字错误'React。组件,而不是React。组件的

祝你好运! !

其他回答

对我来说,是React。元素更改为React。修复此错误的组件。

我也有同样的问题,把导航器改成{Navigator}

import Navigator from 'react-native-deprecated-custom-components'
// to
import {Navigator} from 'react-native-deprecated-custom-components'

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

这个答案不正确,但对于其他有同样错误的人,我这个愚蠢的错误可能会有帮助。

愚蠢的是,我的问题是通过在类名后面包含()来使用函数符号。

确保语法正确。并且您已经导入和导出了所有具有正确名称和路径的外部组件/模块。

如果你安装了一个新版本的react,这个模板应该可以正常工作:

import React, { Component } from 'react'

class ExampleClass extends Component {

    render(){
        return(
            <div>

            </div>
        )
    }
}

export default ExampleClass 

如果你试图执行React,你也可以收到这个消息。组件在类定义中带有error()。

export default class MyComponent extends React.Component() {}
                                                        ^^ REMOVE

在从无状态函数组件转换到类时,我有时会设法做到这一点。