Дополнительно
Как установить маршрут по умолчанию на другой маршрут реагировать маршрутизатор
У меня есть следующие:
<Route name="app" path="/" handler={App}>
<Route name="dashboards" path="dashboards" handler={Dashboard}>
<Route name="exploreDashboard" path="exploreDashboard" handler={ExploreDashboard} />
<Route name="searchDashboard" path="searchDashboard" handler={SearchDashboard} />
<DefaultRoute handler={DashboardExplain} />
</Route>
<DefaultRoute handler={SearchDashboard} />
</Route>
Когда используется маршрут по умолчанию, SearchDashboard неправильно делает, так как любой *мониторинга потребности в предоставляемых в приборной панели.
Я хотел бы, чтобы мой маршрут по умолчанию в графе "Приложения и" Путь к точке маршрута с "searchDashboard и". Это то, что я могу сделать с реагировать маршрутизатор, или я должен использовать обычный JavaScript (для перенаправления страницы) для этого?
В принципе, если пользователь переходит на главную страницу, Я хочу отправить их в панель поиска. Так что я думаю, я'м ищу функция маршрутизатора реагировать эквивалентно окна.расположение.заменить (на"mygreathostname.com/#/dashboards/searchDashboard");`
77
9
Вы можете использовать редирект, вместо того, чтобы маршрут по умолчанию
Обновление 2019-08-09, чтобы избежать проблем с обновить используется вместо этого, благодаря Ogglas
Проблема с использованием в
<перенаправление=то"/" до="и searchDashboard-то" /> если у вас разные URL-адреса, скажем,
/indexDashboard и пользователь нажимает "обновить" или получает ссылку, которая была отправлена к ним, пользователь будет перенаправлен на `/searchDashboard все равно.Если вы WAN'т предоставить пользователям возможность обновить сайт или отправить URL-адреса, используйте это:
Используйте это, если
searchDashboard
за вход:Я неправильно пытаюсь создать путь по умолчанию с:
Но это создает два разных пути, которые отображают один и тот же компонент. Это не только бессмысленно, но это может вызвать глюки в UI, то есть, когда вы укладки
<ссылка/>
элементы, основанные на этом.история.метод isactive()`.Правильный способ создать маршрут по умолчанию (то есть не маршрут индексом) для использования в
<IndexRedirect/>
:Это основано на реагировать-маршрутизатор 1.0.0. См https://github.com/rackt/react-router/blob/master/modules/IndexRedirect.js.
Джонатан'ы ответ Я'т похоже на работу для меня. Я'м с использованием реагируют версии v0.14.0 и реагировать маршрутизатор В1.0.0-RC3 по. Это сделал:
в
<компонент IndexRoute={дома}/>
.Так в Евангелии от Матфея's случай, я верю, что он'хочу, чтобы:
в
<компонент IndexRoute={SearchDashboard}/>
.Источник: https://github.com/rackt/react-router/blob/master/docs/guides/advanced/ComponentLifecycle.md
это позволит сделать так, что при загрузке сервера на локальном хосте он будет направлять вас, чтобы /что-то
Для тех, кто прибывает в 2017, это новое решение с
IndexRedirect
:Я столкнулся с аналогичной проблемой, я хотела обработчик маршрута по умолчанию, если ни один обработчик маршрута совпадают.
Мое решение заключается в использовании шаблона в качестве значения путь. т. е. Также убедитесь, что это последняя запись в определении маршрутов.
Предпочтительный способ заключается в использовании маршрутизатор реагировать IndexRoutes компонент
Вам использовать его, как это (взято с реагировать маршрутизатор документов, указанному выше):