我在我的基于react-router
的应用中,想知道是否有一种推荐的方式来构造链接的URL。在php
的Zend Framework
世界里,我会使用反向路由的url helper。我将我的路由名称和参数提供给路由配置,它会产生我要链接到(或在react-router
情况下推送到)的URL。
我找到了这个:但是看起来只支持版本1的react-router
。我使用的是版本3。
我在我的基于react-router
的应用中,想知道是否有一种推荐的方式来构造链接的URL。在php
的Zend Framework
世界里,我会使用反向路由的url helper。我将我的路由名称和参数提供给路由配置,它会产生我要链接到(或在react-router
情况下推送到)的URL。
我找到了这个:但是看起来只支持版本1的react-router
。我使用的是版本3。
出于同样的目的,我使用了'react-router-dom'包中的generatePath
。
例如,projects/routes.js
包含配置:
import {generatePath} from "react-router-dom";
export const EDIT = {
route: "/projects/:id",
generate(id) {
return generatePath(this.route, {id})
}
}
而 <Route>
依赖于 .route
部分:
<Route path={ProjectRoutes.EDIT.route} component={ProjectEdit} />
虽然 <Link>
依赖于 .generate()
<Link to={ProjectRoutes.EDIT.generate(someVariable.id)}>Edit me!</Link>
这绝不是按名称反转。但我发现这种方法更可预测和灵活,因为没有遇到名称冲突的机会。