[問題] 有關ReactJS state的問題

作者: hiphopadd7 (來自北方)   2016-11-20 03:50:13
各位板上的神人好
小弟我最近入坑React
遇到一些問題
關於這段程式
class MyApp extends React.Component{
constructor(props){
super(props);
this.state = {
employee:{
name: 'hello',
birthday: ''
},
price: ''
}
this.handleValueChange = this.handleValueChange.bind(this);
}
handleValueChange(event){
valueName = event.target.name
this.setState({[valueName]: event.target.value});
};
render(){
return(
<form>
<input type="text" placeholder="name" value={this.state.employee.name} onChange={this.handleValueChange} name="name"/>
<input type="text" placeholder="name" value={this.state.price} onChange={this.handleValueChange} name="price"/>
</form>
)
}
}
為什麼我的handleValueChange再更改this.state.price是可以的
可是更改employee.name卻不行呢?
作者: No (you stay there)   2016-11-20 03:59:00
setState 那邊的寫法,name 會設到 state 的第一層
作者: hiphopadd7 (來自北方)   2016-11-21 01:16:00
那要怎麼寫才能讓他在第一層跟第二層之間作動態挑選?
作者: gopupkimo (BUG)   2016-11-23 21:12:00
其實你這問題跟state沒關係,是如何操作物件的問題如果需求是這樣,何不用兩個function去分開做?
作者: hiphopadd7 (來自北方)   2016-11-24 18:35:00
摁,我後來發現分成兩個操作會方便很多~剛入坑而已,有多到滿出來的問號,哈哈

Links booklink

Contact Us: admin [ a t ] ucptt.com