2017-07-28 189 views
0

我有一個擁有大約10,000個URL的網站,這些URL基本上是通過使用服務器端Url重寫來清理的。意思是,如果我有像http://example.com/best-cakes-in-sydney這樣的網址,它實際上會映射到http://example.com/cakes?city=sydney。現在我想要的只是在我的React App中使用http://example.com/best-cakes-in-sydney這個網址。從服務器獲取React路由器路徑

但是,這個問題是,這是不可能包含任何參數在這些網址,因爲他們不遵循任何特定的模式。由於我不得不在我的反應路由器配置中寫下所有這些Url。但是在我的反應路由器文件中寫下10,000條路徑似乎不是一個好主意。

請幫我以下任一操作:

  1. 如果有可能產生反應的路由器配置文件,那麼它也可以工作。在渲染該文件的過程中,AJAX請求將在服務器上運行,並且會拉出所有路徑,因此事物不會被硬編碼。
  2. 有沒有其他方法可以解決這個問題?
+0

[反應路由器中的動態路徑]的可能重複(https://stackoverflow.com/questions/45266423/dynamic-paths-in-react-router) –

回答

0

我想你可以從你的服務器發送你想要在特定網址上呈現哪個組件的信息。

如果您的請求是/best-cakes-in-sydney您的服務器會返回一個JSON像{component: "cakes", city: "sydney", content: "...", ...}

然後,只需選擇合適的組件:

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

所以基本上你不必使用路由器,或者只是一個全球這條路線。

+0

這正是我想要實現 – Abhi

+0

然後只是做它;) – Melounek

+0

https://stackoverflow.com/questions/45266423/dynamic-paths-in-react-router/46079191#46079191 –