目前我正在构建一个使用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
的错误初始值的任何想法?