Jwt 在useReducer中粘贴令牌,并在nextjs中使用useContext并获取未定义

Jwt 在useReducer中粘贴令牌,并在nextjs中使用useContext并获取未定义,jwt,next.js,token,use-context,use-reducer,Jwt,Next.js,Token,Use Context,Use Reducer,在Next.js中将useReducer与useContext一起使用时出现问题。我想使用用户已经使用useReducer和useContext生成的令牌,但是当我尝试时,它是未定义的。我不知道该怎么办 这是我的代码文件: 这是我的AuthToken.js文件: import React,{createContext,useffect,useReducer}来自“React”; //创建上下文 export const AuthToken=createContext(); 常量初始状态={ 作

在Next.js中将
useReducer
useContext
一起使用时出现问题。我想使用用户已经使用
useReducer
useContext
生成的令牌,但是当我尝试时,它是未定义的。我不知道该怎么办

这是我的代码文件:

这是我的
AuthToken.js
文件:

import React,{createContext,useffect,useReducer}来自“React”;
//创建上下文
export const AuthToken=createContext();
常量初始状态={
作者:{},
用户:[]
};
常量动作={
AUTH:“AUTH”,
添加用户:“添加用户”
};
const reducer=(stateAuth,action)=>{
开关(动作类型){
case ACTIONS.AUTH:
返回{
…国家权威,
auth:action.payload
};
case ACTIONS.ADD_用户:
返回{
…国家权威,
用户:action.payload
};
违约:
返回stateAuth;
};
};
导出函数数据提供程序({children}){
const{stateAuth,dispatchAuth}=useReducer(reducer,initialState);
useffect(()=>{
const firstLogin=localStorage.getItem(“firstLogin”);
if(firstLogin==true){
异步(令牌)=>{
const res=等待获取(“http://localhost:3000/api/users/", {
方法:“获取”,
标题:{
“授权”:令牌
}
});
等待res.json()。然后(res=>{
res.err?localStorage.removietem(“firstLogin”):dispatchAuth({
类型:ACTIONS.AUTH,
有效载荷:{
令牌:res.accessToken,
用户:res.user
}
});
});
};
};
}, []);
返回(

返回一个元组,但您正在将其作为对象进行分解。正确的语法如下所示:

const[stateAuth,dispatchAuth]=useReducer(reducer,initialState);

我不再未定义,但为什么我的stateAuth是空的。无论如何,谢谢。有人能帮我吗?我不再未定义,但我得到的是空对象,它很快就空了。