我有反应组件和道具的问题。以下是例外情况。 我做错了什么?
未捕获的TypeError:超级表达式必须为null或a 功能,而不是未定义
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')
)
答案 0 :(得分:4)
问题出在这一行:
class Component extends React.component {
您在c
中使用了小React.component
而不是使用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>