【问题标题】:react redux hash based routingreact redux 基于哈希的路由
【发布时间】:2016-02-08 08:34:33
【问题描述】:

我有一个类似的路由器:

<Router history={browserHistory}>
        <Route path="/" component={App}>
        <IndexRoute component={Login} />
        <Route path="/#!login" component={Login} />
        <Route path="/#!first" component={First} />
        <Route path="/#!second" component={Second} />
        </Route>
  </Router>

我有一个像这样的标题组件:

class Header extends Component {
  render() {
    return (
      <div>
        <h3><Link to="/#!first">First</Link></h3>
        <h3><Link to="/#!second">Second</Link></h3>
      </div>
    )
  }
}

export default Header

现在,当我在标题中单击 First 时,它不会将我重定向到该链接..

如何在 react 和 redux 中实现基于哈希的路由

【问题讨论】:

    标签: reactjs redux react-routing


    【解决方案1】:

    使用hashHistory,让您的所有路线都知道您的历史记录。改为这样做:

    import { hashHistory } from 'react-router';
    
    <Router history={hashHistory}>
        <Route path="/" component={App}>
            <IndexRoute component={Login} />
            <Route path="login" component={Login} />
            <Route path="first" component={First} />
            <Route path="second" component={Second} />
        </Route>
    </Router>
    

    像这样链接它:

    <Link to="/first">First</Link>
    

    然后让路由器完成剩下的工作。

    【讨论】:

    • 如果我想要基于哈希的路由怎么办.. ??我知道这是可行的,但我已经实现了这个,但我想要基于哈希的路由..
    • 这对我有用!非常感谢!我确实在页面末尾附加了一些奇怪的废话,尽管它看起来像一个随机字符串,看起来像 #/?_k=d74z39#/contact?_k=uxnbcv
    • 您可以在#1967了解更多信息。
    • 对我不起作用:'react-router' does not contain an export named 'hashHistory'. "react-router": "^4.2.0"
    • 正如你在CHANGES.md 中看到的那样,它当时是pre v2(2.0.0 实际上是一天后发布的)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2018-07-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    相关资源
    最近更新 更多