从服务器获取React路由器路径

时间:2017-07-28 06:34:24

标签: reactjs react-router

我有一个大约有10,000个网址的网站,这些网址基本上都是使用服务器端Url Rewrite清理的。意思是,如果我有http://example.com/best-cakes-in-sydney这样的网址,它实际上会映射到http://example.com/cakes?city=sydney。现在我想要的是仅在我的React App中使用http://example.com/best-cakes-in-sydney这个URL。

但问题是,在这些网址中不可能包含任何参数,因为它们不遵循任何特定模式。因此,我被迫在我的反应路由器配置中写下所有这些Urls。但是在我的反应路由器文件中写下10,000条路径似乎并不是一个好主意。

请帮助我解决以下任何问题:

  1. 如果可以生成反应路由器配置文件,那么它也可以工作。在渲染该文件时,AJAX请求将在服务器上运行,它将拉出所有路径,因此事情不是硬编码的。
  2. 还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以从服务器发送有关要在特定网址上呈现哪个组件的信息。

如果您的请求为/best-cakes-in-sydney,您的服务器将返回{component: "cakes", city: "sydney", content: "...", ...}

之类的JSON

然后选择正确的组件:

switch(response.component){
  case 'cakes': ...}
    <Cakes />
}

所以基本上你不必使用路由器,或者只需要一条全局路由。