下面这句话大家都很熟悉:You should not use getInitialProps, but getServerSideProps instead
. 我已经使用它构建了我的应用程序getInitialProps
,现在我面临以下问题:“我应该将 getInitialProps 替换为 getServerSideProps 吗?”,如果是这样,我应该如何以正确的方式进行操作而不损坏我的应用程序?
今天,我getInitialProps
在几个重要的地方使用:
- 在我的习惯
_app.js
中react-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));
- 在页面的一些 HOC 中:检查用户是否已通过身份验证(否则重定向),如果用户已通过身份验证,则初始化 redux 存储,获取用户信息。
如何用 getServerSideProps 替换 getInitialProps?
任何建议将不胜感激,谢谢