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}>...