2016-02-12 155 views
1

我正在使用反應路由器進行單頁應用程序路由。我得到了多個組件,這些組件將根據點擊等用戶事件進行更改。無法以編程方式更改路由反應路由器

現在的問題是,對於IndexRoute我的路由工作正常,但對於後來的路由它打破。根據我的分析,react-router完美呈現第二個組件,但ReactDOM.render方法在成功呈現後在URL中添加了「#」。它會混淆react-router並使其呈現默認路由。

任何人都可以幫助我解決這個問題嗎?

注:我很奇怪,爲什麼ReactDOM.render增加空「#」到URL

+0

你能編輯你的問題並添加一點代碼嗎? –

回答

0

很可能是你沒有啓用的反應,路由器(最後我檢查,它默認提供的「browserHistory」功能'hashHistory')。

嘗試增加這主要(客戶方的入口點到你的陣營應用程序)文件:

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') 
) 

,看看你仍然可以得到這個問題。