我正在使用react路由器进行单页应用程序路由。我有多个组件会根据点击等用户事件而改变。
现在的问题是,对于IndexRoute,我的路由工作正常,但对于后续路由,它会中断。根据我的分析,react-router完美呈现第二个组件,但ReactDOM.render方法添加了#'#'成功渲染后的URL。它会混淆react-router并使其呈现默认路由。
有人可以帮我解决这个问题吗?
注意:我想知道为什么ReactDOM.render会添加空的'#'到网址
答案 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')
)
看看你是否仍然遇到这个问题。