MaximAr1es
@MaximAr1es
Frontend junior developer

Как изменить состояние родителя из дочернего компонента React?

Передаю состояние родителя в дочерний компонент: <Component openModal={this.state.openModal} />

Далее в дочернем компоненте есть элемент по клику на который вызывается метод, который должен изменить состояние родителя на true.
Как это сделать?
  • Вопрос задан
  • 5575 просмотров
Решения вопроса 2
@Gary_Ihar
JS *овнокодер
1) создайте обработчик в родительской компоненте, который будет менять стейт.
2) передайте обработчик в дочернюю компоненту.
3) используйте обработчик в дочерней компоненте и меняйте Стейт в родительской компоненте.
Ответ написан
8XL
@8XL
Я высокий, но ниже, чем вы подумали.
Верное решение подсказали, слегка разберу для понимания.
<Parent>
  <Children openModal={this.state.openModal} onChange={this.onChange} />
<Parent />


в Parent объявите метод
onChange=()=>{
  this.setState({openModal : true})
}


В Children так
<div onClick={this.props.onChange}>
  ...какие-то элементы...
</div>


Всё просто)

Но еще проще и гораздо надежнее https://ru.reactjs.org/docs/lifting-state-up.html
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
notiv-nt
@notiv-nt
Как ваше ничего? Да, моё тоже
<Component openModal={this.state.openModal} onChange={this.onChange} />
Ответ написан
Комментировать
kirbi1996
@kirbi1996
Помимо состояния еще и функцию из родителя туда прокинь
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект
25 нояб. 2024, в 18:33
10000 руб./за проект