Далее. js Выборка данных в HO C с сервера в SSG - PullRequest
2 голосов
/ 23 марта 2020

Я создал новое приложение с Next.js 9.3.1.
В старом приложении с SSR. Я могу getInitialProps работать в компонентах HO C (не на странице), поэтому я могу получать данные с сервера в компоненте HO C и со страницы. Вот так https://gist.github.com/whoisryosuke/d034d3eaa0556e86349fb2634788a7a1

Пример:

export default function withLayout(ComposedComponent) {
    return class WithLayout extends Component {

        static async getInitialProps(ctx) {
            console.log('ctxlayout fire');
            const { reduxStore, req } = ctx || {}
            const isServer = !!req
            reduxStore.dispatch(actions.serverRenderClock(isServer))

            if (isServer) await reduxStore.dispatch(navigationActions.getListMenuAction('menu'));
            // Check if Page has a `getInitialProps`; if so, call it.
            const pageProps = ComposedComponent.getInitialProps && await ComposedComponent.getInitialProps(ctx);
            // Return props.
            return { ...pageProps }
        }

        render() {
            return (
                <div className="app__container">
                    <Header />
                    <Navbar />
                    <ComposedComponent {...this.props} />
                </div>
            )
        }
    }
}

Но в новой версии Next. js, с SSG не могу или не нашел способ использования getStaticProps или getServerSideProps в компонентах HO C. Если я использую getInitialProps в HO C (макет), я не могу использовать getStaticProps или getServerSideProps в дочернем.
Итак, как я могу использовать getStaticProps или getServerSideProps для извлечения данных и предварительный рендеринг как в компоненте HO C, так и на странице?
Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...