6

下面这句话大家都很熟悉:You should not use getInitialProps, but getServerSideProps instead. 我已经使用它构建了我的应用程序getInitialProps,现在我面临以下问题:“我应该将 getInitialProps 替换为 getServerSideProps 吗?”,如果是这样,我应该如何以正确的方式进行操作而不损坏我的应用程序?

今天,我getInitialProps在几个重要的地方使用:

  1. 在我的习惯_app.jsreact-redux
class MyApp extends App {
    static async getInitialProps({ Component, ctx }) {
        return {
            pageProps: {
                ...(Component.getInitialProps
                    ? await Component.getInitialProps(ctx)
                    : {})
            }
        };
    }

    render() {
        const { Component, pageProps, store } = this.props;
        return (
            <>
                <Provider store={store}>
                    <Component {...pageProps} />
                </Provider>
            </>
        );
    }
}

export default withRedux(initStore)(withReduxSaga(MyApp));
  1. 在页面的一些 HOC 中:检查用户是否已通过身份验证(否则重定向),如果用户已通过身份验证,则初始化 redux 存储,获取用户信息。

如何用 getServerSideProps 替换 getInitialProps?

任何建议将不胜感激,谢谢

4

0 回答 0