@antpv

Почему не обновляется React компонент?

Обновляю стейт
this.state = {
			checked: this.props.checked //{1: true, 2: false, 3: false}
		}


Обработчиком:

handleButton = () => {
		let newstate = {1: false, 2: false, 3: false};

		this.setState({
			checked: newstate
		})
	}
}


Грубый пример для наглядности, вопрос только в том почему не обновляется компонент.
React не сравнивает значение объектов в стейте? Ссылка на объект вроде как тоже другая. Не пойму
  • Вопрос задан
  • 388 просмотров
Решения вопроса 1
sM0kfyz
@sM0kfyz
Frontend dev.
Сравнение идет только по ссылкам, поверхностно. Вы уверены, что кнопка срабатывает? Или попробуйте обычный бинд использовать. Вариантов может быть много.

upd.
https://github.com/facebook/react/issues/4618
Тут написано, что defaultValue и defaultChecked задается только один раз при инициализации компонента.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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