开发者问题收集

Next js:next auth 提供程序 + redux 提供程序

2021-02-20
5025

在我的 Next js 项目中,我使用了 Next auth,它 import {Provider} from 'next-auth/client' ,并将 <Component /> 包装在 _app.js 中。

但是,同时,我想在项目中添加 redux。它将 import {Provider} from 'react-redux' ,并且还需要将 <Component /> 包装在 _app.js 中。

因此,在这种情况下,它们使用相同的 Provider ,我尝试了导入解构,但它给了我一个语法错误 Syntax error: ES2015 named imports do not destructuring. Use another statement for destructuring after the import. 。那么我该怎么办?

import { Provider } from "next-auth/client";  
function MyApp({ Component, pageProps }) {
  return (
    <>
        <Provider
          options={{     
            clientMaxAge: 0,
            keepAlive: 0,
          }}
          session={pageProps.session}
        >
          <Component {...pageProps} />
        </Provider>
    </>
  );
}
1个回答

您可以重命名解构导入。因此您的代码可能看起来像这样:

import { Provider } from "next-auth/client";
import { Provider as ReduxProvider } from "react-redux";

function MyApp({ Component, pageProps }) {
  return (
    <ReduxProvider {/* whatever props go here */}>
        <Provider
          options={{     
            clientMaxAge: 0,
            keepAlive: 0,
          }}
          session={pageProps.session}
        >
          <Component {...pageProps} />
        </Provider>
    </>
  );
}

Aditya R
2021-02-20