Задать вопрос
@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 не сравнивает значение объектов в стейте? Ссылка на объект вроде как тоже другая. Не пойму
  • Вопрос задан
  • 391 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
sM0kfyz
@sM0kfyz
Frontend dev.
Сравнение идет только по ссылкам, поверхностно. Вы уверены, что кнопка срабатывает? Или попробуйте обычный бинд использовать. Вариантов может быть много.

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽