Reactjs 反应路由器路由半动态?
我正在试着设置React路由器来处理Reactjs 反应路由器路由半动态?,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我正在试着设置React路由器来处理 <Route path='/:id' component={Component1} /> <Route path='/new?:params' component={Component2} /> 但它总是和第一个匹配。如何编写它,使其与路径的第一部分('/new')匹配,但在有第一条路径时,将其余部分作为动态路径 这是整个开关组 <Route exact path='/' component={Home} /> &
<Route path='/:id' component={Component1} />
<Route path='/new?:params' component={Component2} />
但它总是和第一个匹配。如何编写它,使其与路径的第一部分('/new')匹配,但在有第一条路径时,将其余部分作为动态路径
这是整个开关组
<Route exact path='/' component={Home} />
<Route exact path='/new' component={Component2} />
<Route path='/new?:params' component={Component2} />
<Route path='/:id' component={Component1} />
示例参数:
post?title=Something&subtitle=Something+Else
您可以将exact
作为道具传递,告知react路由器
检查路由的原样
<Route path='/:id' component={Component1} exact />
<Route path='/new' component={Component2} exact />
事实上,我为“/new”设置了一个我没有发布的确切路线。它在“/new”上匹配,但如果有params则不匹配,因为它不是完全匹配的。请给出
/new
路由中的params示例?更新了开关块并添加了params。您是否尝试将post
路由与new
匹配?是的,在我在/new提交表单后,我想清除它,显示消息并停留在该页面上。
import qs from 'query-string';
console.log(location.search);
//=> '?foo=bar'
// pass the location.search from `react-router`
const parsed = qs.parse(location.search);
console.log(parsed);
//=> {foo: 'bar'}