javascript - 查询字符串与 react-router 路由不匹配的 URL

标签 javascript reactjs react-router

鉴于此 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 只匹配 catch-all 路由而不是第一个?

最佳答案

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

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

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

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

相关文章:

reactjs - react 路由器的位置状态在路由改变时变得未定义

javascript - React Router 不渲染任何东西

javascript - 如何监视服务以测试它 -- AngularJS/Jasmine

javascript - 如何检查/转储 Ionic 变量

javascript - 根据需要表单验证链接字段

javascript - 在 React/Next.js 中显示内容并隐藏其他内容

css - React 和纯 HTML 实现之间跨度宽度的差异

javascript - 完整日历 selectAllow 在 ReactJS 中不起作用

javascript - react 路由器困惑

javascript - ReactJS更新二维数组中的单个值