为什么在 react history createHashHistory 上为每个路径附加 /#?

Why on react history createHashHistory appends /# for each path?

我有一个具有此历史配置的应用程序:

import { createHashHistory } from 'history';
import { ConnectedRouter } from 'connected-react-router';

const history = createHashHistory({
  hashType: 'slash',
});
    ...
  <ConnectedRouter history={history}>
    <App />
  </ConnectedRouter>

但是我的所有路线都附加了 /# 例如:localhost:8080/ 变为:localhost:8080/#/

我已经尝试将我的软件包更新为 this question say,但没有成功。

唯一有效的方法是将 createHashHistory 更改为 createBrowserHistory,但我不确定它们之间有什么区别,以及为什么 createHashHistory 附加了 /# ]

使用 hashHistory,它会产生 url 之类的 http://yourwebsite.net/#page/xxx

使用 browserHistory,它会产生 url 之类的 http://yourwebsite.net/page/xxx

使用哪一个?在现实世界的产品中,主要使用 browserHistory。经验法则是 "if you are using a dynamic server that can handle dynamic URLs then you need to use the BrowserRouter component but if you are using a server that only serves static files then a HashRouter component is what to be used in this case."

在您的代码中,hashType: 'slash' 只是默认值。