我正在使用react路由器进行单页应用程序路由 . 我有多个组件会根据点击等用户事件而改变 .
现在的问题是,对于IndexRoute,我的路由工作正常,但对于后续路由,它会中断 . 根据我的分析,react-router完美呈现第二个组件,但ReactDOM.render方法在成功呈现后将“#”添加到url . 它会混淆react-router并使其呈现默认路由 .
任何人都可以帮我解决这个问题吗?
注意:我想知道为什么ReactDOM.render将空的'#'添加到url
您可能没有启用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') )
看看你是否仍然遇到这个问题 .
1 回答
您可能没有启用React-Router提供的“browserHistory”功能(我最后检查过,它默认为'hashHistory') .
尝试将其添加到main(您的React应用程序的clientside入口点)文件中:
看看你是否仍然遇到这个问题 .