список с чекбоксами, и по клику на верхний мне надо все остальные ставить в состояние checked
Можно хранить в стэйте массив, например checks. Допустим, это будет массив из объектов вида {id: number, checked: boolean} Тогда, в твоём рендере ты можешь мапить этот массив из стэйта в чекбоксы на странице. Каждый из этих чекбоксов будет свое состояние как раз из этого массива подсматривать. Каждый секбокс в своём onChange будет менять поле checked у того объекта из массива, который соответствует ему самому. И тогда, ты можешь легко чекнуть все чекбоксы, просто сделав setState и заменив все поля checked во всех этих объектах на true
То есть рендер будет вида checks.map(c => <Checkbox checked={c.checked} onChange={isChecked => setChecks(подменяешь в старом стейте объект на новый, с полем checked: isChecked) } />)
Обсуждают сегодня