Reactjs React Redux Router-添加新的查询参数而不丢失旧的查询参数

Reactjs React Redux Router-添加新的查询参数而不丢失旧的查询参数,reactjs,redux,react-router,react-router-redux,Reactjs,Redux,React Router,React Router Redux,我试图将查询参数添加到一个已经有其他查询参数的URL,但它没有添加新的查询参数,而是删除旧的查询参数,只保留当前的查询参数。e、 g: hashHistory.push({ articleId: `?s=${articleId}`, }); 此url变为: 但稍后,如果我尝试从另一个组件添加另一个查询参数: hashHistory.push({ userId: `?s=${userId}`, }); 它将是:因此articleId被删除 保留旧参数的一种方法是将articleId传递

我试图将查询参数添加到一个已经有其他查询参数的URL,但它没有添加新的查询参数,而是删除旧的查询参数,只保留当前的查询参数。e、 g:

hashHistory.push({
  articleId: `?s=${articleId}`,
});
此url变为:

但稍后,如果我尝试从另一个组件添加另一个查询参数:

hashHistory.push({
  userId: `?s=${userId}`,
});
它将是:因此articleId被删除


保留旧参数的一种方法是将articleId传递回分配userId的组件,但我有深度嵌套的组件,这不方便,有没有更简单的方法来实现这一点?

有没有方法获取当前查询参数?如果有,您可以获取它们,然后添加或覆盖所需的参数,然后推送更新的查询参数列表/映射。是的,这是一种方法,但如上所述,它需要大量不必要的参数检查,还需要大量附加道具。我的意思是,如果您可以获取当前的参数列表/映射,并将其修改为包含您想要的参数,您不必进行任何检查。只需添加/覆盖所需的参数。类似于hashHistory.push(currentParameters.set('userId',…)。这样,除了组件关心的参数之外,您不必再处理任何事情,并且仍然保留其他参数。获取currentParameters是我要说的一个问题,否则它非常简单。您使用的是哪个
react router
版本?从
v2.0.0
开始,您可以通过道具将参数注入组件。请参阅是否有获取当前查询参数的方法?如果有,您可以获取它们,然后添加或覆盖所需的参数,然后推送更新的查询参数列表/映射。是的,这是一种方法,但如上所述,它需要大量不必要的参数检查,还需要大量附加道具。我的意思是,如果您可以获取当前的参数列表/映射,并将其修改为包含您想要的参数,您不必进行任何检查。只需添加/覆盖所需的参数。类似于hashHistory.push(currentParameters.set('userId',…)。这样,除了组件关心的参数之外,您不必再处理任何事情,并且仍然保留其他参数。获取currentParameters是我要说的一个问题,否则它非常简单。您使用的是哪个
react router
版本?从
v2.0.0
开始,您可以通过道具将参数注入组件。看见