когда происходит определенный экшн, хочу чтобы его чекед менялся на false.
Чекбокс:
<CheckBox
checked={this.state[serviceId + 'debt'] === undefined ? true : this.state[serviceId + 'debt']}
onChange={(val) => this.setState({[serviceId + 'debt']: val})}>
долг
</CheckBox>
Когда пользователь вводит изменения в другой инпут, чекбокс должен превращаться в фолс.
Функция onChange в другом инпуте:
ChangeEvent(serviceId, newVal){
this.setState({[serviceId + 'debt']: false})
}
Проблема в том, что state меняется, но в html чекбокс не убирается. В чем может быть проблема?
В гугле все советуют через стейт сделать, что я и сделал
Мб onBlur поюзать?
Ну если это состояние для чекбокса не ограничивается пределами компонента, логика дополнительная есть в экшкнах, может есть смвсл вынести это сотояние в глобальный стор?
Попробуй значение чек боксу устанавливать через value, а не checked
Дак setState выполняется асинхронно. Он и не будет сразу перерисовывать. В таком случае вы можете использовать третий аргумент setState (callback)
👋🏻
Обсуждают сегодня