Почему React синхронно изменяет один state, после того как изменен другой?

Дело в том, что мой реакт-компонент неожиданно для меня меняет одно state-свойство, хотя обработчик меняет другое.
Условно:
1. В стэйте есть таки свойства
this.state = { content: {}, given_content: {} }
2. В componentDidMount данные из fetch() попадают в оба стейта:
componentDidMount() {
fetch(get_api_url()).then(response => {
return response.json();
}).then(data => {
let content = data.data;
...
this.setState({ content: content, given_content: content });
});
}
3. Разметке компонента есть select элемент с прикрепленным обработчиком handleChange:
handleChange(event) {
this.setState(function (state, props) {
let data = state.given_content;
delete data['Euro'];
return({ given_content: data });
})
}
4. После выбора в select значения обработчик как и положено меняет this.state.given_content, НО меняет и
this.state.content!! Хотя с setState больше нигде не вызывается, content вообще не трогаю больше нигде!
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы