Как передать pageProps в next. js из дочернего компонента в _app. js? - PullRequest
0 голосов
/ 10 января 2020

Я работаю над следующим приложением. js, и макет моей страницы проходит по следующей иерархии:

  _app.js
     Page.js
         Header.js
         PageContent.js

Мне нужно передать некоторые параметры из PageContent в заголовок без использования избыточности.

Внутри _app. js У меня есть следующее:

class Main extends App {
  render() {
  const {
    Component,
    pageProps,
    apollo,
    router: { route }
  } = this.props;

 return (
  <ApolloProvider client={apollo}>
      <Page
        pathname={route.split("/")[1]}
        {...pageProps}
        localLinks={Component.LocalLinks}
        render={props => <Component {...props} />}
      />
   </ApolloProvider>
  );
 }
}

Я предполагаю, что должен быть способ передать некоторую проповедь (pageProps) из PageContent в _app и передать ее вниз на страницу и сделать их доступными для заголовка. Есть ли здесь следующий js конкретный c трюк, с которым я не знаком?

1 Ответ

0 голосов
/ 10 января 2020

Вы можете использовать контекстный API или состояние родительского контейнера (здесь компонент страницы).

Первый путь -> Использовать контекст api

Второй путь

  • сделать состояние на компоненте страницы
  • передать StatemodifierFunction для перехода к pageContent
  • , затем изменить состояние, вызвав эту функцию StatemodifierFunction
  • , затем передать это состояние Компонент заголовка

** Третий способ **

  • Вы также можете использовать узел реакции
...