【问题标题】:How to combine multiple getServerSideProps wrappers?如何组合多个 getServerSideProps 包装器?
【发布时间】:2021-05-20 20:35:01
【问题描述】:

我在 NextJs 应用程序中使用了两个库:next-firebase-authnext-redux-wrapper。它们都要求我用它们各自的功能包装getServerSideProps

对于next-firebase-auth

export const getServerSideProps = withAuthUserSSR()(async ({ AuthUser }) => {
    // Some code
})

对于next-redux-wrapper

export const getServerSideProps = wrapper.getServerSideProps(
    ({store}) => {
        // Some code
    }
);

两者都单独工作,但我无法让两者同时工作。 NextJs 只允许getServerSideProps 被声明一次。是否有可能以某种方式组合多个包装器?

【问题讨论】:

    标签: javascript firebase-authentication next.js next-redux-wrapper


    【解决方案1】:

    您可以一个接一个地链接包装器。内部函数将包含他们两个传递的额外道具。

    export const getServerSideProps = withAuthUserSSR()(wrapper.getServerSideProps(
        ({ AuthUser, store, res, req }) => {
            // `getServerSideProps` code here
        }
    ))
    

    next-redux-wrapper v7 开始,wrapper.getServerSideProps 签名已更改。

    export const getServerSideProps = withAuthUserSSR()(wrapper.getServerSideProps(
        (store) => async ({ AuthUser, res, req }) => {
            // `getServerSideProps` code here
        }
    ))
    

    【讨论】:

      猜你喜欢
      • 2021-10-19
      • 2016-12-25
      • 2018-03-10
      • 2022-10-24
      • 2019-01-28
      • 1970-01-01
      • 2015-08-05
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多