Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nextjs RangeError:超过最大调用堆栈大小 从“React”导入React; 导入“./assets/style/global.scss”; 从“下一个cookies”导入cookies; 从“./lib/api/client”导入客户端; 函数MyApp({Component,pageProps}){ 返回; } MyApp.getInitialProps=async(appContext)=>{ const appProps=await MyApp.getInitialProps(appContext); const{ctx}=appContext; const allCookies=cookies(ctx); const-token=allCookies[“accessToken”]; 如果(令牌!==未定义){ client.defaults.headers.Authorization=令牌; } 返回{…appProps}; }; 导出默认MyApp;_Javascript_Reactjs_Next.js - Fatal编程技术网

Javascript nextjs RangeError:超过最大调用堆栈大小 从“React”导入React; 导入“./assets/style/global.scss”; 从“下一个cookies”导入cookies; 从“./lib/api/client”导入客户端; 函数MyApp({Component,pageProps}){ 返回; } MyApp.getInitialProps=async(appContext)=>{ const appProps=await MyApp.getInitialProps(appContext); const{ctx}=appContext; const allCookies=cookies(ctx); const-token=allCookies[“accessToken”]; 如果(令牌!==未定义){ client.defaults.headers.Authorization=令牌; } 返回{…appProps}; }; 导出默认MyApp;

Javascript nextjs RangeError:超过最大调用堆栈大小 从“React”导入React; 导入“./assets/style/global.scss”; 从“下一个cookies”导入cookies; 从“./lib/api/client”导入客户端; 函数MyApp({Component,pageProps}){ 返回; } MyApp.getInitialProps=async(appContext)=>{ const appProps=await MyApp.getInitialProps(appContext); const{ctx}=appContext; const allCookies=cookies(ctx); const-token=allCookies[“accessToken”]; 如果(令牌!==未定义){ client.defaults.headers.Authorization=令牌; } 返回{…appProps}; }; 导出默认MyApp;,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,登录时,我们尝试将访问令牌放在cookie中,并将cookie值放在每个api请求的头中。但我得到了这个错误。如何修复它?您之所以会出现此错误,是因为您通过调用MyApp.getInitialProps(appContext)内部MyApp.getInitialProps生成了一个无限循环 只需将该行替换为App.getInitialProps调用即可 /。。。 从“下一个/应用程序”导入应用程序 // ... MyApp.getInitialProps=async(appContext)=>{

登录时,我们尝试将访问令牌放在cookie中,并将cookie值放在每个api请求的头中。但我得到了这个错误。如何修复它?

您之所以会出现此错误,是因为您通过调用
MyApp.getInitialProps(appContext)
内部
MyApp.getInitialProps
生成了一个无限循环

只需将该行替换为
App.getInitialProps
调用即可

/。。。
从“下一个/应用程序”导入应用程序
// ...
MyApp.getInitialProps=async(appContext)=>{
const-appProps=await-App.getInitialProps(appContext);
// ...
返回{…appProps};
};
import React from "react";
import "../assets/style/global.scss";
import cookies from "next-cookies";
import client from "../lib/api/client";

function MyApp({ Component, pageProps }) {
  return <Component {...pageProps} />;
}

MyApp.getInitialProps = async (appContext) => {
  const appProps = await MyApp.getInitialProps(appContext);
  const { ctx } = appContext;
  const allCookies = cookies(ctx);
  const token = allCookies["accessToken"];
  if (token !== undefined) {
    client.defaults.headers.Authorization = token;
  }

  return { ...appProps };
};

export default MyApp;