rstJkee
@rstJkee

Как получить стейт внутри props.children?

Есть следующий кейс
function ComponentB(props) {
  let [state, setState] = useState({title: 'asd'})
  return <div>{props.children}</div>;
}

function ComponentA() {
  return (
    <ComponentB>
      {(state???????) => (
        <header>{state.title}</header>
      )}
    </ComponentB>
  );
}


Как можно в props.children достучаться до стейта ComponentB, чтобы в header вывелся title?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
rstJkee
@rstJkee Автор вопроса
Вот так вот делаем и должно всё работать
function ComponentB(props) {
  let [state, setState] = useState({ title: "ТАЙТЛ" });
  return <div>{props.children({ state, setState, props })}</div>;
}

function ComponentA() {
  return (
    <ComponentB url="asd">
      {(a) => (
        <header>
          {a.state.title}
          {a.props.url}
        </header>
      )}
    </ComponentB>
  );
}
Ответ написан
Ваш ответ на вопрос

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

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