繁体   English   中英

ReactRouter 的哈希路由器无法处理哈希更改

[英]ReactRouter's Hash Router not working on hash change

我正在使用 ReactRouter 的<HashRouter>类(我的服务器没有为<BrowserRouter>配置,这是一个内部工具,所以我不关心搜索引擎等)。

我只有一条路线:

<Route path="/:datestring" component={ConnectedDatePage} />

在我的开发版本上,这一切都完美无缺。 然后我将应用程序(使用 webpack)打包成一个页面并发布它,在服务器上,单击链接会更改哈希——但页面上没有相应的更改。

使用新的哈希重新加载页面可以正确呈现所有内容,但再次更改哈希没有任何作用。 这里可能会发生什么?

更新:我怀疑这可能是因为在服务器上,它没有在根级别运行(例如,它位于http://example.com/app/#/20170203/而不是http://localhost/#/20170203/ )。 不过,我不知道如何配置路由器来处理这个问题。

我的问题是我没有在路线中指定exact选项:

<Route exact path="/" component={Home} />
<Route exact path="/:datestring" component={ConnectedDatePage} />

如果没有此选项,主页将始终呈现。 非常基本但致命的错误。 :D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM