小编Mat*_*065的帖子

React / firebase 应用程序在身份验证完成之前闪烁登录屏幕

当您注册/登录/刷新页面时,登录页面会在转到正确页面之前闪烁。我尝试放入加载程序,但它所做的只是在闪烁然后转到正确页面之前执行加载程序动画。知道如何避免这种情况发生吗?

function App(){
  const [user, setUser] = useState();
  const [loading, setLoad] = useState(true);
  useEffect(() => {
    const unsubscribe = onAuthStateChanged(getAuth(), setUser, setLoad(false))
    return () => {unsubscribe()}
  }, [])
const AuthenticatedRoute = ({children}) => {
  let isAuthenticated;
    if(user !=null){
      isAuthenticated = true;
    }else{
      isAuthenticated = false;
    }
    if(!loading){
      return isAuthenticated? children: <Navigate to="/signin"/>
    }else{
      return <Loading/>
    }
  
}

const UnauthenticatedRoute = ({children}) => {
  let isAuthenticated;
    if(user !=null){
      isAuthenticated = true;
    }else{
      isAuthenticated = false;
    }
    if(!loading){
      return !isAuthenticated? children: <Navigate …
Run Code Online (Sandbox Code Playgroud)

javascript firebase reactjs react-router react-hooks

4
推荐指数
1
解决办法
1165
查看次数