开发者问题收集

Super 表达式必须为 null 或为函数,不能为 undefined - reactjs

2017-09-11
9141

我是 react.js 的初学者。

我收到此错误:

Super expression must either be null or a function, not undefined

我的浏览器 chrome 控制台中的完整错误输出:

Uncaught TypeError: Super expression must either be null or a function, not undefined at _inherits (bundle.js:21166) at bundle.js:21172 at Object.184.react (bundle.js:21196) at s (bundle.js:1) at e (bundle.js:1) at bundle.js:1

我的代码:

const React=require('react');
const ReactDom=require('react-dom');

class App extends React .component{

    render(){
        return(
            <div>
                < Header />,
                < Main />,
                < Footer />
            </div>
        );
    }
}

class Header extends React .component{
    render(){
        return(
            <Header>
                <nav>
                    <h1>Header</h1>
                </nav>
            </Header>
        );
    }
}


class Main extends React .component{
    render(){
        return(
            <div>
                <p> text 1</p>
            </div>
        );
    }
}

class Footer extends React .component{
    render(){
        return(
            <h2>Footer</h2>
        );
    }
}

ReactDom .renderToStaticMarkup (<App /> ,document.getElementById('app'));
3个回答

您应该将 React.component 更改为 React.Component 大写 C。
例如 - class main extends React.Component 。此外,删除 React.Component 之间的空格>

Debabrata
2017-09-11

看来您正在将课程扩展错误。 它应该是反应的。 c component, 不反应。 c component

Daniel Andrei
2017-09-11

对我来说,这是因为对静态成员(typescript)的循环依赖而发生的。 例如

B : 从 './B' 导入 A

let x=A.staticValue

A : 从 './A' 导入 B class A { static staticValue

Ahmad Dehnavi
2018-07-22