<button>新增</button>
name | age | 操作 |
---|---|---|
LearnShare | 12 | 编辑 |
Mike | 32 | 编辑 |
点击新增
和编辑
进入同一个组件
this.state = {
form:{
name:'',
age:''
}
}
<input value={this.state.name} onClick={(value)=>this.setState({name:value})}/>
初始化数据在state
中
这样在新增中一切都很好
但是当编辑的时候
@connect(
state=>state.table
)
didmount(){
dispath(getData(id))
}
这样所有获得的数据都被 map
到 props
里 可是我之前都写在了 state
中,
所以现在我能想到的就是在willreceiveprops
生命周期重新setState
。
还能想的一种方式就是把初始化数据都放在 reducer
中,
这样的话每次input
值做修改都要发一个dispatch
,和setState
比较麻烦太多了。
不知道还有没有什么好方法
react没有限制你使用原生js方法,给input写个简单的change事件不是问题,当然这只限于简单的项目,如果复杂项目,还是建议用redux