Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 Firebase:auth在重新加载页面后暂时不工作_Javascript_Reactjs_Firebase_Firebase Authentication_Next.js - Fatal编程技术网

Javascript Firebase:auth在重新加载页面后暂时不工作

Javascript Firebase:auth在重新加载页面后暂时不工作,javascript,reactjs,firebase,firebase-authentication,next.js,Javascript,Reactjs,Firebase,Firebase Authentication,Next.js,我将Firebase auth与Next.js一起使用。我将auth数据存储在AuthContext(useContext)中,每次页面更改时都会获取currentUser。但是,currentUser的默认值是未定义的,因此在获取身份验证数据时,currentUser返回未定义的值。当用户重新加载页面时,用户可以立即查看登录页面,然后查看主页。我想修好它,但不知道如何 我听说在localStorage或cookie中存储auth数据是不安全的,所以我想知道如何存储auth数据 const Au

我将Firebase auth与Next.js一起使用。我将auth数据存储在AuthContext(useContext)中,每次页面更改时都会获取currentUser。但是,currentUser的默认值是未定义的,因此在获取身份验证数据时,currentUser返回未定义的值。当用户重新加载页面时,用户可以立即查看登录页面,然后查看主页。我想修好它,但不知道如何

我听说在localStorage或cookie中存储auth数据是不安全的,所以我想知道如何存储auth数据

const AuthContext = createContext<AuthContextProps>({ currentUser: undefined });

const AuthProvider = ({ children }: any): JSX.Element => {
  const [currentUser, setCurrentUser] = useState<User>(undefined);

  useEffect(() => {
    firebase.auth().onAuthStateChanged((user) => setCurrentUser(user));
  }, []);

  return <AuthContext.Provider value={{ currentUser: currentUser }}>{children}</AuthContext.Provider>;
};

export { AuthContext, AuthProvider };

const AuthContext=createContext({currentUser:undefined});
const AuthProvider=({children}:any):JSX.Element=>{
const[currentUser,setCurrentUser]=useState(未定义);
useffect(()=>{
firebase.auth().onAuthStateChanged((用户)=>setCurrentUser(用户));
}, []);
返回{children};
};
导出{AuthContext,AuthProvider};
另外,第三行中的属性
({children}:any):
可以使用哪种数据类型? 我想避免任何

提前谢谢你