首页 文章

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

提问于
浏览
1

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

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

任何人都可以帮我解决这个问题吗?

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

1 回答

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

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

相关问题