Reactjs 反应路由器路由半动态?

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} /> &

我正在试着设置React路由器来处理

<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'}