无法以编程方式更改react-router中的路由

时间:2016-02-12 04:23:56

标签: javascript reactjs react-router

我正在使用react路由器进行单页应用程序路由。我有多个组件会根据点击等用户事件而改变。

现在的问题是,对于IndexRoute,我的路由工作正常,但对于后续路由,它会中断。根据我的分析,react-router完美呈现第二个组件,但ReactDOM.render方法添加了#'#'成功渲染后的URL。它会混淆react-router并使其呈现默认路由。

有人可以帮我解决这个问题吗?

注意:我想知道为什么ReactDOM.render会添加空的'#'到网址

1 个答案:

答案 0 :(得分:0)

很可能你没有启用React-Router提供的'browserHistory'功能(我最后检查过,它默认为'hashHistory')。

尝试将此添加到main(React应用程序的clientside入口点)文件中:

import { render } from 'react-dom'
import { Router, browserHistory } from 'react-router'
import routes from './routes'

/* The rest of your other code... */

render(
  <Router history={browserHistory} routes={routes} />,
  document.getElementById('app')
)

看看你是否仍然遇到这个问题。