作者hiphopadd7 (来自北方)
看板Ajax
标题[问题] 有关ReactJS state的问题
时间Sun Nov 20 03:50:13 2016
各位板上的神人好
小弟我最近入坑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却不行呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 115.43.246.35
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1479585016.A.C8B.html
1F:推 No: setState 那边的写法,name 会设到 state 的第一层 11/20 03:59
2F:→ hiphopadd7: 那要怎麽写才能让他在第一层跟第二层之间作动态挑选? 11/21 01:16
3F:推 gopupkimo: 其实你这问题跟state没关系,是如何操作物件的问题 11/23 21:12
4F:→ gopupkimo: 如果需求是这样,何不用两个function去分开做? 11/23 21:14
5F:→ hiphopadd7: 摁,我後来发现分成两个操作会方便很多 11/24 18:35
6F:→ hiphopadd7: ~刚入坑而已,有多到满出来的问号,哈哈 11/24 18:36