电子位置.路径名在初始加载时不正确



目前我正在构建一个使用React(和React Router(的Electron应用程序。

当我打开打包的应用程序(与Electron Builder一起打包(时,最初没有匹配的路由。所以我记录了应该在初始加载时/ location.pathname。相反,我得到了我的index.html放置位置的整个路径(blabla/dist/mac/ds-video-wall.app/Contents/Resources/app.asar/dist/index.html(。

我通过添加以下代码来解决此问题(临时(:

componentWillMount() {
  // Electron 'bugfix', feels dirty
  if (this.props.location.pathname !== '/') {
    this.props.history.push('/');
  }
}

在此重定向之后,我可以开始使用导航,从那里一切正常。每次我更改路线时,我都会记录location.pathname,它总是正确的。因此,此问题仅在初始加载时发生。

但是,我不喜欢我的解决方案,我认为这应该以不同的方式解决。关于如何纠正错误的location.pathname初始值的任何想法?

这实际上很容易解决:我只需要使用HashRouter而不是BrowserRouter。

之后一切正常,我可以删除我的"错误修复"。

最新更新