使用路由名以编程方式重定向到路由

时间:2016-08-20 13:11:23

标签: javascript reactjs

我有以下路线:

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参数。

有没有办法使用路由名称而不是路径重定向?

1 个答案:

答案 0 :(得分:0)

在旧版本中,可以按名称导航,但AFAIK不再有效。在我看来,您应该做的是为不同的服务器配置历史的基名,即路由的前缀。考虑到URL的最后部分,即react-router配置的部分是固定的。

要指定基本名称,您应将自定义历史记录传递给路由器。

modelname::functionName()