Задать вопрос

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

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

По идее он должен перенаправлять пользователя на /contacts только если роуты выше не сработают. Так вот, как сделать чтобы в случае если эти два роута не срабатывают происходила переадресация на /contacts, а не в любом случае?
  • Вопрос задан
  • 581 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 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>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы