react-router 动态路由而不是模式匹配
react-router dynamic routing instead of pattern matching
我的客户有特定的 SEO/URL 要求,我正在尝试弄清楚如何使用 react-router 使其工作。
如何声明一组匹配相同模式的 URL 以使用不同的处理程序?
例如/A 是 HandlerA,但 /B 是 HandlerB,/B/C 也是 HandlerA,其中有许多必须满足的排列(在 运行 时间是动态的)。
假设全局 RouteTable 包含做出决定所需的所有数据,事实证明这可以在构造 <Route>
对象之前完成:
var routes = RouteTable.map(r => {
if (some logic) {
return (<Route handler={A} name={r.url} path={r.url} />);
} else {
return (<Route handler={B} name={r.url} path={r.url} />);
}
});
var routes = (
<Route path='/'>
{routes}
</Route>
);
然后所有 <Links>
都用 URL 完成,例如<Link to={url}>...
我的客户有特定的 SEO/URL 要求,我正在尝试弄清楚如何使用 react-router 使其工作。
如何声明一组匹配相同模式的 URL 以使用不同的处理程序?
例如/A 是 HandlerA,但 /B 是 HandlerB,/B/C 也是 HandlerA,其中有许多必须满足的排列(在 运行 时间是动态的)。
假设全局 RouteTable 包含做出决定所需的所有数据,事实证明这可以在构造 <Route>
对象之前完成:
var routes = RouteTable.map(r => {
if (some logic) {
return (<Route handler={A} name={r.url} path={r.url} />);
} else {
return (<Route handler={B} name={r.url} path={r.url} />);
}
});
var routes = (
<Route path='/'>
{routes}
</Route>
);
然后所有 <Links>
都用 URL 完成,例如<Link to={url}>...