我将Firebase身份验证与Next.js一起使用。我将auth数据存储在AuthContext(useContext)中,并且每次页面更改时都会获取currentUser。但是,currentUser的默认值是未定义的,因此在获取身份验证数据时,currentUser将返回未定义的值。当用户重新加载页面时,用户可以先浏览登录页面,然后再浏览首页。我想修复它,但不知道如何...
我听说将身份验证数据存储在localStorage或cookie中并不安全,所以我想知道如何存储身份验证数据。
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 };
此外,第三行的属性({ children }: any):
可以使用哪种数据类型?
我想避免任何...
提前谢谢!