【发布时间】:2017-09-27 10:58:58
【问题描述】:
我正在更新要使用的 React 组件:
类 SearchFilms 扩展了 React.Component
代替:
var SearchFilms = React.createClass({
当我运行此程序时,我收到以下错误:“无法读取未定义的属性 'setState'”
谁能建议我如何更新这个?
class SearchFilms extends React.Component {
//var SearchFilms = React.createClass({
getInitial() {
return {
userInput: ''
};
}
onChange(event) {
this.setState({
userInput: event.target.value
});
this.props.newVal(event.target.value);
}
render() {
var languages = ['Shutter Island', 'Inception', 'Titanic', 'Blood Diamond'];
return (
<div className="row" id="Nav">
<input type="text"
value={this.props.userInput}
onChange={this.onChange}
/>
</div>
)
}
}
【问题讨论】:
-
你是从es5切换到es6,在es6中你需要绑定函数使用
this关键字。要解决您的问题,请将此行放入构造函数中:this.onChange = this.onChange.bind(this)它会起作用:)
标签: reactjs components