鉴于此React路由器配置:

<Router history={browserHistory}>
    <Route path="/farm/:type?period=:period" component={Farm} />
    <Route path="/pen/:penId" component={Pen} />
    <Route path="/pen/:penId/cow/:cowId" component={Cow} />
    <Route path="*" component={Farm} />
</Router>


为什么http://localhost:8080/farm/average?period=day仅匹配全部路由而不匹配第一条路由?

最佳答案

查询字符串参数不需要包含在<Route>定义中。

将路线定义更改为<Route path="/farm/:type" component={Farm} />
解决了问题。

查询字符串参数在props.location.query下仍然可用

关于javascript - 带有查询字符串的URL不匹配react-router路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39728059/

10-12 21:23