2017-09-26 72 views
1

在哪裏把頁面的初始配置數據放在React/Redux多頁面應用程序中?哪裏可以在React/Redux多頁面應用程序中放置頁面的初始配置數據?

該問題最初有短語「從不改變數據」而不是「頁面的初始配置數據」。前者是我在Google上搜索答案時使用的詞語。現在重新措辭,因爲「永不改變」意味着不變,而數據不是,即使在單頁面視圖中沒有改變。最初的數據來自後端數據庫。在我們的情況下注入到JSP中,但它可能是在非JSP應用程序中加載的ajax。

我們的情況是在這裏進一步說明這一點:

我們必須使用JSP生成HTML和純的jQuery JavaScript的一個Java春服務器。該設置正在慢慢更新爲使用React/Redux。每個頁面都是一個獨立的React應用程序,以便更輕鬆地轉換

在其中一個頁面中,我們顯示一個表格和2個搜索過濾器。搜索過濾器是對象(id,名稱對)和日期選擇器的下拉列表。這些對象作爲來自下層數據庫的列表加載。它們在單個頁面視圖中不會改變。

我們將一些初始配置數據注入到JSP頁面中,React應用程序通過window.config = {}使用該頁面,例如window.config.language = "en"

目前我們通過ajax加載這些droplist對象,並將它們放入Redux存儲中。但是,初始加載後它們從不改變。所以,我們認爲可能更好地將它們直接注入到JSP中,因爲我們有一個用於配置數據的地方(window.config.droplistObjects = []

幾乎所有的頁面狀態都在Redux中,除了一些配置項(語言)和一些組件特定的短暫州。所有其他數據通過ajax加載。

少數地方進入腦海:

  1. 終極版店
  2. 陣營主要成分
  3. 全局變量像window.config.droplistObjects = []
  4. 別的地方
+0

您可以創建一個常量文件並將該數據導出爲數組或對象,並將其導入組件並使用它。 –

+0

是的。真正的應用程序使用的不是國家。所以contant文件是不可能的。我將重新回顧這個問題以反映這一點。 –

+0

固定數據是否總是來自數據庫?它有多大? –

回答

1

我想你可能是超越這一點:你已經做的事似乎很好我。 這是我看到這個工作:

  1. 從DB你的終極版動作
  2. 減速更新
  3. 容器組件通過更新後的狀態啞組件
  4. 視圖獲取更新
  5. 狀態中獲取數據

我沒有看到任何問題。我已經用這個基本結構編寫了至少4個不同的應用程序,一對使用Firebase和一對紅寶石後端。

我不確定這回答你的問題,但我希望它可以幫助你退後一步,看清楚情況。

+0

謝謝,我很欣賞答案,我認爲你可能是對的。我發佈了這個問題,因爲我們的項目成員對存儲初始數據的位置有不同意見。我自己還沒有強烈的意見,所以爲社區提供智慧似乎是一個好主意。我會等待幾個星期,看看是否有其他解決方案出現。 –

相關問題