我是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'));
答案 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 }