我有以下TextInput
组件来接受用户的用户名/电子邮件。它嵌套在一个登录表单组件中,该组件将回调传递给其子组件以更新其自己的状态。
export default class LoginForm extends Component {
constructor(props){
this.updateUser = this.updateUser.bind(this);
this.state = {
user: "",
};
}
updateUser(newUser){
this.setState( oldState =>{
oldState.user = newUser;
return oldState;
});
}
<TextInput
placeholder="username or email"
submitHandler={this.updateUser}
onSubmitEditing={text => this.props.submitHandler(text);}
/>
}
但由于某些原因,提交登录文本会在调用this.props.submitHandler(text)
时抛出异常。如果我将此行更改为this.submitHandler(text)
,也会发生这种情况。这里有什么我想念的吗? TextInput
组件不允许我设置新道具吗?我是否在函数调用中使用了错误的上下文?
答案 0 :(得分:2)