我有三个输入,并且我希望每个输入的数据都存储在一个状态中。例如,name
输入应该以{{1}}状态存储,因为稍后需要它来将三个状态的值推送到Firebase数据库中。
我使用了name
函数来存储数据,但是我不知道如何使每个输入的函数相对于要放入的状态。
onChange
答案 0 :(得分:2)
您可以传递键和值
<input type="text" name="name" onChange={(event)=>this.handleChange(event,'name')} />
在您的函数中,您可以执行以下操作
handleChange = (e,key) => {
this.setState({ [key] : e.target.value });
};
答案 1 :(得分:2)
getChanges = (e) => {
console.log(e);
this.setState({[e.target.name]: e.target.value}, function () {
console.log(this.state)
})
};
调用此函数,
<Input onChange={(e) => this.getChanges(e)} name={'name'}
value={this.state.name} placeholder={'Name'}/>