Задать вопрос
@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 не сравнивает значение объектов в стейте? Ссылка на объект вроде как тоже другая. Не пойму
  • Вопрос задан
  • 392 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Merion Academy
    Frontend-разработка на React
    4 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
Решения вопроса 1
sM0kfyz
@sM0kfyz
Frontend dev.
Сравнение идет только по ссылкам, поверхностно. Вы уверены, что кнопка срабатывает? Или попробуйте обычный бинд использовать. Вариантов может быть много.

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽