react-router-dom - 使用Switch时的重定向警告

时间:2018-02-22 18:06:17

标签: reactjs react-router react-router-dom react-transition-group

要在更改路线时获取动画,我正在使用Switch。这一切都有效但如果我尝试去路线“/”我得到“警告:您试图重定向到您当前所在的相同路线:”/ login“”。如果我删除开关我没有收到错误。我真的不知道我是愚蠢还是有什么不对劲。

<Router>
  <Route
    render={({ location }) => (
      <TransitionGroup>
        <CSSTransition key={location.key} classNames="fade" timeout={1000}>
          <Switch location={location}>
            <Route
              exact
              path="/"
              render={() =>
                this.state.loggedIn ? (
                  <SomeComponent />
                ) : (
                  <div>
                    <Redirect to={{ pathname: '/login' }} />
                  </div>
                )
              }
            />

            <Route
              path="/login"
              render={() =>
                !this.state.loggedIn ? (
                  <SomeOtherComponent />
                ) : (
                  <div>
                    <Redirect to={{ pathname: '/' }} />
                  </div>
                )
              }
            />

            <Route
              path="/signup"
              render={() =>
                !this.state.loggedIn ? (
                  <AnotherComponent />
                ) : (
                  <div>
                    <Redirect to={{ pathname: '/' }} />
                  </div>
                )
              }
            />
          </Switch>
        </CSSTransition>
      </TransitionGroup>
    )}
  />
</Router>;

0 个答案:

没有答案