0
持っている - Ajaxのコールバック: - 私の入力にそしてhandleChange
success:function(data) {
self.setState({
user: {
id_user: data.session.id_user,
firstname_user: data.session.firstname_user,
lastname_user: data.session.lastname_user,
action: "updateUser"
},
});
}
を:代わりにこの
console.log(this.state.user);
/*
user
firstname_user: "Blablabla"
lastname_user: "Blablabla"
*/
: コンソールを
handleChange(){
this.setState({
user: {
firstname_user: this.firstname_user.refs.input.value,
lastname_user: this.lastname_user.refs.input.value
}
});
}
はこれを与えます。ログ(this.state.user); handleChange
が発射された場合
/*
user
id_user: XX
firstname_user: "Blablabla"
lastname_user: "Blablabla"
action: "updateUser"
*/
、this.state.user
はid_user
とaction
キーを削除します。従ってthis.state.user
は、唯一のfirstname_user
とlastname_user
の葉になります。どうして?
私はキーを削除しなかったので、私はその理由を理解していません。
これを修正するにはどうすればよいですか?
おかげ
@AndrewLiが正しいです。 setStateはオブジェクトの状態を設定し、オブジェクトの状態を更新しません。私はあなたもこの複写を見ることができると思います。 http://stackoverflow.com/a/25713365/763909 – newpatriks
@newpatriksはい、それはより良い重複ターゲットです。 – Li357