Как в react-router-dom сделать настроить редирект?

Имеется switch
<Switch>
            <Route path="/contacts" exact>
                <ContactsPage />
            </Route>
            <Route path="/contacts/add" exact>
                <AddContactForm />
            </Route>
            <Redirect to="/contacts" />
 </Switch>

По идее он должен перенаправлять пользователя на /contacts только если роуты выше не сработают. Так вот, как сделать чтобы в случае если эти два роута не срабатывают происходила переадресация на /contacts, а не в любом случае?
  • Вопрос задан
  • 578 просмотров
Решения вопроса 1
GreyCrew
@GreyCrew
Full-stack developer
Для этого не нужен редирект, достаточно просто проставить роут по умолчанию
<Switch>
            <Route path="/contacts" exact>
                <ContactsPage />
            </Route>
            <Route path="/contacts/add" exact>
                <AddContactForm />
            </Route>
            <Route path="*" >
                <ContactsPage />
            </Route>
 </Switch>


А по правильному я бы сделал так, что бы внутренний роут(/contacts/add) определялся с точным соответствием, а внешний (/contacts) без него, ну и порядок сменил
<Switch>
            <Route path="/contacts/add" exact>
                <AddContactForm />
            </Route>
            <Route path="/contacts">
                <ContactsPage />
            </Route>
 </Switch>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
01 дек. 2024, в 11:44
10000 руб./за проект
29 нояб. 2024, в 07:44
20000 руб./за проект
01 дек. 2024, в 10:13
25000 руб./за проект