簡體   English   中英

在React JS中設置狀態

[英]setting state in React JS

我的組件狀態如下所示:

  this.state = { 
        user: {firstname: '', lastName: '', phoneNumber: '' }
     }

在輸入更改事件上,我想設置狀態。 但是下面的代碼似乎不起作用。 我到底在做什么錯?

 handlePhoneNumberChange(e){
     this.setState({["users"]['phoneNumber']: e.target.value});
  }

您應該這樣更新狀態:

handlePhoneNumberChange(e) {
   let user = this.state.user;
   user.phoneNumber = e.target.value;
   this.setState(user);
}

您可能還需要研究ES6傳播屬性 ,該屬性可以大大清除此過程。

編輯:謝謝Felix,將“ spread operator”更改為“ spread properties”。

我不確定自己在做什么,但是如果要設置當前用戶的電話號碼,請執行以下操作:

this.setState({ user: { ...this.state.user, phoneNumber: e.target.value } })

假設您可以使用實驗性ES功能(例如傳播)。

除此以外,

this.setState({ user: Object.assign({}, this.state.user, {phoneNumber: e.target.value}) })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM