[英]Query params in React Router
我正在使用React Router
& 我有一个嵌套路由,它有一个名为?q
的查询参数 & 我的路由代码如下所示:
<Route path="/" component={TopNavContainer}>
<Route path="search?que=:q" component={SearchContainer} />
</Route>
但是当我尝试以http://localhost:8000?q=machine
访问我的路由时,它只加载TopNavContainer
父容器的内容。
任何帮助表示赞赏。
问候 Vaibhav
也可能是您忘记渲染与父主组件内的路由更改相对应的任何子组件,在您的情况下是TopNavContainer
。
import React, { Component } from 'react';
export default class TopNavContainer extends Component {
render() {
return (
<div className="topNavContainer">
{this.props.children}
</div>
);
}
}
对于此路由配置
<Route path="/" component={TopNavContainer}>
<Route path="search?que=:q" component={SearchContainer} />
</Route>
您的 url ( http://localhost:8000?q=machine ) 与路径不匹配,正确的应该是http://localhost:8000/search?que=machine
作为对 SEO 的建议,网址可能是
<Route path="search/:q" component={SearchContainer} />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.