Javascript React onchange事件:此.setState()未设置状态?
当用户在username和password字段中键入值时,我试图通过此设置username和password的状态。我正在使用onChange事件类型 问题:状态没有改变。我在渲染中记录this.state.data.usernameJavascript React onchange事件:此.setState()未设置状态?,javascript,reactjs,forms,onchange,Javascript,Reactjs,Forms,Onchange,当用户在username和password字段中键入值时,我试图通过此设置username和password的状态。我正在使用onChange事件类型 问题:状态没有改变。我在渲染中记录this.state.data.username 您要更改的状态是this.state.username,您要控制台的状态是this.state.data.username 要在您的状态下设置数据,请使用: this.setState(prevState => ({ data: { userna
您要更改的状态是this.state.username,您要控制台的状态是this.state.data.username 要在您的状态下设置数据,请使用:
this.setState(prevState => ({
data: {
username: inputUsername,
...prevState.data
}
})
您未正确更新状态或未正确使用状态。构造函数中的状态具有具有用户名和密码的数据对象
您正在更改的状态是this.state.username,您控制台的状态是this.state.data.usernamethis.setState{username:inputUsername};Atm这就是我所拥有的:const{username}=this.state.data;设a=用户名;this.setState{a:inputUsername}@Shaz,即使在设置状态时对值进行了分解,也需要指定完整的嵌套结构,而不仅仅是嵌套键。请检查下面关于如何做的答案啊!因此,如果我有嵌套状态对象属性,我必须使用prevState…]
this.setState(prevState => ({
data: {
username: inputUsername,
...prevState.data
}
})
handleEmailOnChange = event => {
const inputUsername = event.target.value;
console.log("input is...", inputUsername);
this.setState(prev => ({data: {...prev.data, username: inputUsername } }));
};
handlePassword = event => {
const passwordInput = event.target.value;
this.setState(prev => ({data: {...prev.data, password: passwordInput } }));
};