Как настроить редирект? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть компонент Switch

        <Switch>
            <Route path="/contacts" exact>
                <ContactsPage />
            </Route>
            <Route path="/add" exact>
                <AddContactForm />
            </Route>
            <Redirect to="/contacts" />
        </Switch>

Теперь, когда я go в / contacts / add, он перенаправляет меня в / contacts. Но мне нужно сделать редирект, только если ни один из маршрутов не верен. Так как это сделать?

1 Ответ

0 голосов
/ 12 мая 2020

Вам нужно написать весь маршрут, а не только / add -> / contact / add

<Switch>
  <Route path="/contacts/add" exact>
    <AddContactForm />
  </Route>
  <Route path="/contacts" exact>
    <ContactsPage />
  </Route>
  <Redirect to="/contacts" />
</Switch>

Или, если вы хотите разделить глобальный маршрутизатор на несколько небольших маршрутизаторов

// Router.js
<Switch>
  <Route path="/contacts"> // remove exact
    <ContactsPage />
  </Route>
  <Redirect to="/contacts" />
</Switch>

, тогда на странице контактов:

// ContactsPage.js
<Switch>
  <Route path="/contacts/add" exact>
    <AddContactForm />
  </Route>
  <Route path="/contacts" exact>
    <Contacts />
  </Route>
</Switch>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...