我们说我有Route
有三个参数,如下:
<Route path="inbox/:filter/:middleFilter/:endFilter" component={Inbox}/>
我有什么方法可以一次只更新其中一个参数吗?例如,如果当前网址是:
/inbox/asdf/1234/qwer
我希望更改数字1234
(middleFilter
),是否有任何React Router更新方式?有点像:
history.push({
params: {
middleFilter: 6789
}
})
答案 0 :(得分:1)
我能想到的唯一解决方案是阅读this.props.params,查看当前的params是什么,重建URL并推送:
const { filter, endFilter } = this.props.params;
const middleFilter = 6789;
history.push(`/inbox/${filter}/${middleFilter}/${endFilter}`)
我不太热衷于这个解决方案,因为我需要知道URL的样子和所有可用的过滤器,但它确实有效。