美文网首页
【react-router】hashHistory 与 brow

【react-router】hashHistory 与 brow

作者: monkeyfly36 | 来源:发表于2018-11-12 14:36 被阅读0次

    hashHistory,浏览器上看到的 url 会是这样的: /#/user?name=zhangsan
    browserHistory,浏览器上看到的 url 会是这样的:/user

    使用hashHistory的时候,因为 url 中 # 符号的存在,从 /#/ 到 /#/user?name=zhangsan浏览器并不会去发送一次 request,react-router 自己根据 url 去 render 相应的模块。

    而使用 browserHistory 的时候,浏览器从 / 到 /user是会向 server 发送 request 的。所以 server 端是要做特殊配置的;否则,页面将无法正常访问。
    (比如用的 express 的话,你需要 handle 所有的路由 app.get('*', (req, res) => { ... });
    使用了 nginx 的话,nginx也要做相应的配置)

    二者的替换方法很简单,我们在引入 react-router-dom 时,如以下:

    import {
        BrowserRouter as Router,
        Route,
        Link
    } from 'react-router-dom' 
    

    相关文章

      网友评论

          本文标题:【react-router】hashHistory 与 brow

          本文链接:https://www.haomeiwen.com/subject/ahqcfqtx.html