moClay
@moClay
учусь всему

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

У меня есть дочерний компонент состояние которого передается в родительский через props
<button onClick={()=>props.changeOn()} "> </button>

Родительский компонент его получает
const CenterSide = (props) =>
{
    const [IsOn,SetTop]=useState(false)
    const reverse= function (){
      if(IsOn==false){
          SetTop(true)
      }
      else {
         SetTop(false)

      };
    };

    return <div  ">
        <Nav  changeOn={reverse}/>
    </div>
}

Но как от этого родительского компонента передать состояние выше? без событий таких как onClick()
  • Вопрос задан
  • 508 просмотров
Пригласить эксперта
Ответы на вопрос 2
Aetae
@Aetae
Тлен
А зачем?
Всё идёт сверху вниз и никак иначе.
Либо события, либо контекст, либо глобальное хранилище типа redux. Но в любом случае оно должно быть задано заранее.
Ответ написан
@ADDtvb
Middle Frontend Developer(React Lover)
Можно пробросить коллбек функцию, которая возвращает состояние от дочернего элемента к родителю, но так код становиться труднопонимаемым, и злоупотребление такими коллбеками приведет к спагетти коду в итоге вы сами запутаетесь, так что воспользуйтесь лучше Контекстом, но если вам нужен именно такой подход вот раздел из офиц доки а также статья да статья немного не актуальна так как там пример на классовых компонентах, но подход будет ясен, я сам два года назад по этой статье разобрался как это делать)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы