Как правильно обновить (объединить) входное значение с предыдущим значением элемента объекта?
Рассмотрим приведенный ниже пример:
местные штаты
this.state = { model: 'ggg'}
В обработчике
handleChange = (event) => {
this.setState({...this.state,
[event.target.name]: event.target.value});
};
render() {
const {values} = this.state;
return (
<TextField
id="model"
label="Model"
name="model"
value={this.state.model}
onChange={evt => this.handleChange(evt)}/>
)
};
это обновление модели, пока я вводю символы и обновляю модель как "ggga", "gggaaa".
Но я хочу обновить свой объект сейчас.
местные штаты
this.state = {values: { model: 'ggg'}}
и я попробовал,
handleChange = (event) => {
this.setState(prevState => ({
values: {
...prevState.values,
[event.target.name]: event.target.value
},
}))}
<TextField
id="model"
label="Model"
name="model"
value={this.state.values.model}
onChange={evt => this.handleChange(evt)}/>
Вывод: "ggga", "gggq"
это не дает мне ожидаемый результат.
Может кто-нибудь, пожалуйста, предложите решение.
Спасибо