最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Super expression must either be null or a function, not undefined - reactjs - Stack Overflow

programmeradmin0浏览0评论

I'm a beginner at react.js.

I got this error:

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

full error output in my browser chrome console:

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

my codes:

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

class App extends React ponent{

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

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


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

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

ReactDom .renderToStaticMarkup (<App /> ,document.getElementById('app'));

I'm a beginner at react.js.

I got this error:

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

full error output in my browser chrome console:

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

my codes:

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'));
Share Improve this question asked Sep 11, 2017 at 8:45 zahra khalafizahra khalafi 913 silver badges5 bronze badges 0
Add a comment  | 

3 Answers 3

Reset to default 15

You should change React.component to React.Component capital C.
e.g-class main extends React.Component. In addition to that, remove the space between React. and Component

It seems that you're extending the classes wrong. It should be React.Component, not React.component

for me it occurred because of circular dependencies on static member (typescript). for example

B : import A from './B'

let x=A.staticValue

A : import B from './A' class A { static staticValue }

发布评论

评论列表(0)

  1. 暂无评论