超级表达式必须为null或函数,而不是undefined - reactjs

时间:2017-09-11 08:45:22

标签: javascript node.js reactjs

我是react.js的初学者。

我收到了这个错误:

  

超级表达式必须为null或函数,而不是未定义

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

  

未捕获的TypeError:超级表达式必须为null或a   功能,不是未定义的       在_inherits(bundle.js:21166)       在bundle.js:21172       at Object.184.react(bundle.js:21196)       在s(bundle.js:1)       在e(bundle.js:1)       在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 个答案:

答案 0 :(得分:12)

您应该将React.component更改为React.Component大写C.
 e.g - class main extends React.Component。除此之外,请移除React.Component

之间的空格

答案 1 :(得分:1)

您似乎错误地扩展了类。  它应该是React。 C omponent,  不是React。 c omponent

答案 2 :(得分:0)

对我来说,它是由于对静态成员(打字稿)的循环依赖而发生的。 例如

B:    从“ ./B”导入A

让x = A.staticValue

A:    从'./A'导入B    A类{        静态staticValue    }