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

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


当前回答

我的条件

Create-React-App React-scripts v3.2 Froala富文本编辑器v3.1 开发模式运行良好 产品构建因问题中提到的错误而中断

解决我问题的方法

将Froala降级到3.0版本。

3.1版中的某些内容破坏了我们的Create React应用程序构建过程。

更新:使用react脚本v3.3

我们发现在React Scripts 3.2和Froala 3.1之间有一个问题。

更新到React Scripts v3.3允许我们升级到Froala 3.1。

其他回答

在我的例子中,我使用的是:

class Root extends React.Component() {
// THIS IS WORNG
// After React.Component () <- WRONG!!
}

这是错误的但正确的是:

class Root extends React.Component {
// THIS IS CORRECT
// That -> '()' after React.Component was typo
}

也要确保有 √反应。组件 不 ˣReact.component或React。组件

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

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

这里有一个答案:

import React, { Component } from 'react'; // NOT 'react-dom'

Expo/react-native与typescript的另一种情况是:有时当你在打包过程中重新编译typescript文件时,react打包器会丢失。

让我的应用程序再次运行的唯一方法是清除缓存;如果你使用的是世博命令行,你可以按下R(大写的“R”);这将重新构建整个包。有时切换到开发模式也有帮助....

将import React从' React -dom '改为import React, {Component} 并更改类Classname扩展React。组件到类Classname扩展组件 如果你正在使用React的最新版本(目前是16.8.6)。