我对 react 组件和 Prop 有疑问。下面是异常(exception)。 我做错了什么?
Uncaught TypeError: Super expression must either be null or a function, not undefined
class Component extends React.component {
constructor(props) {
super(props);
this.state = {
name: ''
}
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({
name: event.target.value
});
}
render() {
return (
<div>
<input type="text" onChange={this.handleChange} />
<p>{this.state.name}</p>
</div>
)
}
};
ReactDOM.render(
<Component />,
document.getElementById('reactContainer')
)
最佳答案
问题出在这一行:
class Component extends React.component {
您在 React.component
中使用了小型 c
而不是使用 C
:
class Component extends React.Component {
检查工作代码:
class Component extends React.Component {
constructor(props) {
super(props);
this.state = {
name: ''
}
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({
name: event.target.value
});
}
render() {
return (
<div>
<input type="text" onChange={this.handleChange} />
<p>{this.state.name}</p>
</div>
)
}
};
ReactDOM.render(
<Component />,
document.getElementById('reactContainer')
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='reactContainer'></div>
关于javascript - 类型错误 : Super expression must either be null or a function, 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42372976/