2017-07-10 65 views
1

如果我有配有汽車清單的零售商店。如何過濾多個地方的零售商店數據

我使用該列表來填充多個組件,例如下拉列表和可以過濾的表格(可以過濾)。

當我過濾表格時,我的下拉菜單將被過濾到, 旁邊的其他頁面上,它們共享相同的商店。

如果我克隆存儲中的數據部分,我將失去在所有地方添加/編輯的選項。

什麼是這種情況下的最佳做法?例子可能?

+1

該redux文檔有一個過濾示例http://redux.js.org/docs/basics/ExampleTodoList.html#containersvisibletodolistjs –

+0

對於最佳做法,我強烈建議閱讀此內容,首先要牢記**法的德米特**當時想**的行動**:https://facebook.github.io/react/blog/2014/07/30/flux-actions-and-the-dispatcher.html – AGE

回答

1

您應該避免編輯組件內的商店數據。 在組件中過濾列表時 - 創建列表的新克隆實例 - 確保您不會更改商店中的任何內容。

當您想更改商店中的任何內容 - 使用操作。

您應該將Store數據保持爲只讀組件。

我發現這個話題https://hackernoon.com/redux-step-by-step-a-simple-and-robust-workflow-for-real-life-apps-1fdf7df46092

+1

絕對同意,在我曾經工作過的專業環境中,你在操作中存儲數據操作,並將其傳遞給要呈現給用戶的組件 – AGE

+0

我沒有說我會改變組件上的任何內容.. 如果以任何方式,我會改變任何東西會使用操作。 我在談論過濾多個地方的數據以及關於這個問題的一些實踐。 此外,如果我創建列表的新實例,我會失去「單一來源的真相」,正如我上面所說的,這是redux的一個要點,在一個地方 - 一個商店有數據。 – sgoran

+0

從你的問題我知道你篩選列表並將結果(篩選後)分配給來自商店的同一實例。如果您可以提供代碼示例,您如何進行過濾,將更容易回答您的問題。 –