在React Router v4中以编程方式设置参数

dhulme

在React Router 4中,我可以定义

<Route path="/calendar/:view/:year?/:month?/:day?" component={Calendar} />

将道具从URL传递到我的日历组件。

在Calendar组件内部,我想以编程方式设置URL参数。文档显示了如何使用来执行此操作history.push(),但这需要您自己设置URL的格式history.push(``${view}/${year}/${month}/${day}``)但我想在不耦合到路由结构的情况下更新URL,理想情况下是这样的history.push({ view: 'month', year: '2018' })

这可能吗?对我来说,React Router可以将URL拆分为参数似乎很奇怪,但是没有提供一种设置这些参数的好方法吗?

dhulme

我设法使用path-to-regexpReact Router使用来实现这一点

this.props.history.push(pathToRegexp.compile(this.props.match.path)({ view: 'month', year: '2018' ));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章