我的客户有特定的搜索引擎优化/网址要求,我正在试图弄清楚如何使用react-router。
如何将一组匹配相同模式的URL声明为使用不同的处理程序?
e.g。 / A是HandlerA但是/ B是HandlerB而/ B / C也是HandlerA,其中有许多必须满足的排列(在运行时是动态的)。
答案 0 :(得分:1)
假设全局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>
都是使用网址完成的,例如: <Link to={url}>...