因此,我開始將我的應用程序從ES2015轉換爲使用React的ES6。Uncaught TypeError:無法讀取未定義的屬性「狀態或道具」
我有一個父類和子類,像這樣,
export default class Parent extends Component {
constructor(props) {
super(props);
this.state = {
code: ''
};
}
setCodeChange(newCode) {
this.setState({code: newCode});
}
login() {
if (this.state.code == "") {
// Some functionality
}
}
render() {
return (
<div>
<Child onCodeChange={this.setCodeChange} onLogin={this.login} />
</div>
);
}
}
兒童類,
export default class Child extends Component {
constructor(props) {
super(props);
}
handleCodeChange(e) {
this.props.onCodeChange(e.target.value);
}
login() {
this.props.onLogin();
}
render() {
return (
<div>
<input name="code" onChange={this.handleCodeChange.bind(this)}/>
</div>
<button id="login" onClick={this.login.bind(this)}>
);
}
}
Child.propTypes = {
onCodeChange: React.PropTypes.func,
onLogin: React.PropTypes.func
};
然而,這將導致以下錯誤,
this.state是未定義
它指的是,
if (this.state.code == "") {
// Some functionality
}
任何想法可能導致這種情況?
的可能的複製[無法訪問做出反應的實例(本)事件處理中(HTTP://計算器。 com/questions/29577977 /無法訪問反應實例這裏面事件處理程序) – ivarni
你綁定你的孩子的'登錄'功能,但不是你的父母的。 – ivarni