Javascript 防止组件在经过身份验证后显示

Javascript 防止组件在经过身份验证后显示,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我有一个登录流。所有设置都正确,一旦通过身份验证,它会将用户重定向到“/” 我当前的问题是,当它们经过身份验证并键入/login时,它将简要显示登录组件,然后重定向回“/” 如何显示正在加载的组件,或者在经过身份验证后不显示Login.js App.js <Switch> <PrivateRoute exact path="/" component={Home} /> <Route path="/login" component={Login} />

我有一个登录流。所有设置都正确,一旦通过身份验证,它会将用户重定向到
“/”

我当前的问题是,当它们经过身份验证并键入
/login
时,它将简要显示登录组件,然后重定向回
“/”

如何显示正在加载的组件,或者在经过身份验证后不显示Login.js

App.js

<Switch>
  <PrivateRoute exact path="/" component={Home} />
  <Route path="/login" component={Login} />
</Switch>

我通过使用我的
IsAuthentication?:在我的登录组件中

您可能需要一些状态,如“IsAuthentication”,它最初为false,然后在身份验证期间变为true,完成后变为false(失败或未成功)。然后可以将其传递给有条件呈现的加载程序组件。我在redux中也有IsAuthentication道具,但不确定在用户尝试点击/登录时如何组合。正常情况下,当用户按下登录按钮时,
IsAuthentication
,不是在访问路线时。这是由于未解决的承诺,我使用
react-loadable
解决了问题,现在已弃用,请查看!啊,在路由器组件中添加
loadable
功能,然后在路由中使用可加载的处理组件。你试过这个吗
  useEffect(() => {
    if (isAuthenticated) history.push("/");
  });