У меня есть следующие маршруты:Перенаправление маршрутов программно с использованием имен маршрутов
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
.
Есть ли способ перенаправления с использованием имен маршрутов вместо путей?
Я не понимаю, как путь, как это будет по-другому на другой машине. Разве вам не нужно было бы настраивать другой путь на маршруте, если это так? Кстати, это, вероятно, не идеальный способ настройки маршрутов. Если вы не хотите делать это с помощью JSX, я бы предложил вместо этого использовать объекты ['PlainRoute'] (https://github.com/reactjs/react-router/blob/69b163255ca6fc363fe270911b1161378650cc1b/docs/API.md#plainroute) выписывать вызовы 'React.createElement()'. – JMM