[英]react-router parameterize redirect
我在弄清楚如何参数化路由字符串以编程方式重定向时遇到麻烦。
我在/constants/routes.js
设置
export defaults {
user_details: '/user/:id/details',
}
我想以编程方式推送:id
参数为
import routes from '../../constants/routes.js'
const UserListItem = ({name, id, history}) => (
<li onClick={ () => history.push(routes.user_details, {id}) }>
{name}
</li>
)
互联网似乎充满了<Redirect to={/user/${id}/details} />
,这似乎并不是最佳选择,因为我想重用我的不变路线
取决于您如何使用这些路线常数。 我也不确定“绕过任何规则”的含义,但是您可以将常量更改为函数。
export defaults {
userDetails: (id = ":id") => `/user/${id}/details`,
}
用法:
path={routes.userDetails()} -> `/user/:id/details`
history.push(routes.userDetails("abc123")) -> `/user/abc123/details`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.