相关疑难解决方法(0)

加载页面时 Firebase auth.currentUser 为 null,当页面加载几毫秒后调用 authstatechange 时加载用户

我正在使用 React 和 Firebase 开发一个小型网络应用程序。为了处理身份验证,我使用了上下文 API,并在上下文中添加了登录用户的详细信息。

AuthProvider.tsx

const AuthProvider: React.FC = props => {
  const [state, setState] = useState<IAuthContext>(authInitialState);
  console.log("Inside AuthProvider");
  useEffect(() => {
    auth.onAuthStateChanged( user => {
      console.log("Auth State changed and user is ----->", user);
      if (user) {
        console.log("User value updated to the context")
        setState({
            ...authInitialState,
          isAuthenticated:!!user,
          permissions:[],
          user:user
        });
      }
      const stateChange = {
        ...authInitialState,
        isAuthenticated: !!user,
        user
      };
      // if (!user) {
        return setState(stateChange);
      // }
    });
  }, []);
  console.log("Rendering AuthProvider", state);
  return (
    <AuthContext.Provider value={state}>{props.children}</AuthContext.Provider>
  ); …
Run Code Online (Sandbox Code Playgroud)

javascript firebase reactjs firebase-authentication

2
推荐指数
1
解决办法
1562
查看次数