反应路由器重定向无法按预期工作

时间:2019-10-26 18:58:37

标签: react-router react-router-dom

重定向似乎不起作用,我找不到任何提示为什么它不起作用。当我访问“ /”时,默认的isAuthenticated为false。因此,它应该转到(<Redirect to="/login" />)。我可以看到我的链接更改为“ / login”,但没有任何显示,只是一个空白页面。感觉路由被弄乱了。

奇怪的是,如果我在App.js中添加exact path = "/"。可以。

App.js:

function App(props) {
  const { isAuthenticated } = props;
  return (
    <Switch>
      <ProtectedRoute
        exact path = "/"  // not working without this line
        component={Home}
        isAuthenticated={isAuthenticated}
      />

      <Route path="/login" component={Login} />
    </Switch>
  );
}

ProtectedRoute.js:

const ProtectedRoute = ({
  component: Component,
  isAuthenticated
}) => (<Route exact path = "/"
    render={props =>{
      return isAuthenticated ? (
        <Component />
      ) : (<Redirect to="/login" />)
    }}
  />
);

0 个答案:

没有答案