Reactjs 使用react router获取所有可能路径的列表

Reactjs 使用react router获取所有可能路径的列表,reactjs,react-router,Reactjs,React Router,我想知道是否有办法通过路由配置获得所有可能路径的列表 例如,从以下方面: var routes = ( <Route name="/"> <DefaultRoute .../> <Route name="about" .../> <Route name="blog" .../> </Route> ); var路由=( ); 我想: [“/”、“/about”、“/blo

我想知道是否有办法通过路由配置获得所有可能路径的列表

例如,从以下方面:

var routes = (
    <Route name="/">
        <DefaultRoute .../>
        <Route name="about" .../>
        <Route name="blog" .../>
    </Route>
);
var路由=(
);
我想:


[“/”、“/about”、“/blog”]

对于我来说,这似乎适用于v0.13:

var router = Router.create(routes);

var routePaths = [];
for (var i in router.namedRoutes) {
    routePaths.push(router.namedRoutes[i].path);
}

//routePaths = ['/', '/about', '/blog']

有几种方法可以做到这一点:

  • 最简单的:通过检查您的道具(
    this.props.routes
    )将您的路线视为一个数组。然而,这包括了许多您不一定要寻找的额外数据

  • 更健壮:使用社区构建的工具,如,或。所有人都相当健壮,你可以深入阅读我的书


  • 有人问了一个类似的问题,并给出了更详细的回答。

    这个问题的用例是什么?另外,也可以使用
    createRouter.getChildContext().RouteHandler
    @静态web部署的限制,服务器端呈现每个可能的页面,并上传到类似S3的服务。