0
我有一個減速這是適當的Redux的狀態(假設allpeople-reducer.js)在我的終極版是resposible爲下篇狀態分組項目時一起
{
1:{id:1, first_name: "Tony", last_name: "Stark", gender: "Male"}
2:{id:2,first_name: "Wonder", last_name: "Woman", gender: "Female"}
3:{id:3,first_name: "Bruce", last_name: "Wayne", gender: "Male"}
4:{id:4,first_name: "Thor", last_name: "Ragnarok", gender: "Male"}
5:{id:5,first_name: "Bruce", last_name: "Banner", gender: "Male"}
6:{id:6,first_name: "Aqua", last_name: "Man", gender: "Male"}
7:{id:7,first_name: "Bat", last_name: "Girl", gender: "Female"}
8:{id:8,first_name: "Me", last_name: "Mario", gender: "MALE"}
}
的正如你可以看到我已經將數組轉換爲ID爲數組的對象作爲我的鍵。用戶然後可以選擇用戶界面中的人員並從上面的人員列表中建立一些組。我現在必須包括每個人的組號。所以我可以將上述狀態轉換爲以下狀態
{
1:{id:1, first_name: "Tony", last_name: "Stark", gender: "Male", group: 1}
2:{id:2,first_name: "Wonder", last_name: "Woman", gender: "Female", group:2}
3:{id:3,first_name: "Bruce", last_name: "Wayne", gender: "Male", group:3}
4:{}......
}
我的意圖是使用反應組件將屬於同一組的人展示出來。因此,如果我有三個組,我將顯示三個組件,它們使用react-redux將每個組中的所有人聚集在一起。請讓我知道,如果我有這個權利。
你應該始終保持你的狀態乾淨,在這種情況下,你應該把所有的人在一起的意思,而是用一個選擇讓人們你想根據小組ID –
嗨,Arber Sylejmani,是的,我把所有的人聚集在一起。但是,我可以將組添加爲我之前狀態的新密鑰。只有擁有該組時,我纔可以使用選擇器。我的初始狀態沒有組,但只要用戶將一個人添加到組中,我就會更新我的狀態(仔細複製到新狀態)希望您能理解。 –
創建一個只保存組id的新狀態,然後使用選擇器計算來自存儲的派生數據。例如: state.allPeople = {...}和state.groups = ['1','2','3',...] –