反应路由器中hashHistory和browserHistory有什么区别?

Ben*_*ler 44 javascript reactjs react-router

我搜索了一下,但我没有找到以下问题的明确答案:react-router中的hashHistory和browserHistory有什么区别?

smc*_*drc 46

基本区别在于hashHistory使用以下URL:http://myurl.com/#page/another_page/another_page

使用BrowserHistory,您可以获得正常的网址(无哈希):http://myurl.com/page/another_page/another_page

  • 这个hashHistory Url有什么好处或缺点(如果有的话)? (10认同)

Boj*_*vic 6

第一个区别:

他们使用不同的 WEB API。 <HashRouter>使用并从 URL 读取哈希, <BrowserRouter>使用window.historyWEB API。

第二个区别:

<HashRouter>用于静态单页网站。非常适合基于浏览器的项目。 <BrowserRouter>用于动态网站。当你有一个处理动态请求的服务器(知道如何响应任何可能的 URL)时应该使用。