Перенаправление на маршруты программно с использованием названий маршрутов

javascript reactjs

54 просмотра

1 ответ

У меня есть следующие маршруты:

ReactDOM.render(
        React.createElement(ReactRouter.Router, {history: ReactRouter.hashHistory},
            React.createElement(ReactRouter.Route, {path: '/', component: AppController}),
            React.createElement(ReactRouter.Route, {component: LayoutController},
                React.createElement(ReactRouter.Route, {path: '/dashboard', component: DashboardController}),
                React.createElement(ReactRouter.Route, {path: '/signout', component: UserSignoutController})
            )
        )
    , document.getElementById('content'));

Вот как я перенаправляю поток приложения:

ReactRouter.browserHistory.push('/dashboard');

Это работает, но если я открываю свое приложение на другом компьютере с другой структурой URL, и мне нужно изменить пути URL, я также должен изменить каждый pushаргумент.

Есть ли способ перенаправления с использованием имен маршрутов вместо путей?

Автор: user99999 Источник Размещён: 08.11.2019 11:21

Ответы (1)


0 плюса

В более старых версиях можно было перемещаться по имени, но AFAIK он больше не работает. По моему мнению, вам следует настроить базовое имя истории для разных серверов, то есть префикс маршрута. Примите во внимание, что последняя часть URL-адреса, которая настроена реагирующим маршрутизатором, является фиксированной.

Чтобы указать базовое имя, вы должны передать пользовательскую историю маршрутизатору.

useRouterHistory(createBrowserHistory)({ basename })

Автор: Manolo Santos Размещён: 20.08.2016 03:47
Вопросы из категории :
32x32