我明白在React中,您希望始終保持您的狀態不可變。無法理解爲什麼我的數組在我的Reducer中發生變異
也許我的登錄狀態和不變性有一些缺陷。糾正我,如果我錯了,但國家的對象的核心是在減速機的權利?意思是說,如果我想讓我的state
的users
(例如)成爲一個列表...我想將它塑造成一個數組。因此,我設定了我的inititalState = []
。這是我相信我難過的地方。我不知道我是否正確理解這一點,或者我沒有想到。
以前我在做什麼,
case GET_USERS:
return [...state,
Object.assign({}, action.payload)
];
但我被告知將其更改爲return [...state, ...action.payload];
考慮到這不是一個對象或鑰匙我變異。現在我想,return [...state, ...action.payload];
正在取代state
,與action.payload
,但這不是所有情況下。
每次我嘗試和過濾用戶...它只是變異和推動用戶對象this.props.users
,我感到困惑如何,因爲我想我最好遵循終極版文檔。
你提到過濾用戶,但是你的代碼沒有顯示'.filter()'你能不能發表相關的代碼? –
對於過濾器,我只是使用搜索查詢。這只是一個例子,但我爭取的是這樣的。 'this.getUsers(searchQuery){this.props.getUsers(searchQuery).bind(this))}'。然後,我所做的只是簡單地映射'this.props.users.map(....' – dsomel21
)要確定你遇到的問題很困難,而沒有看到你已經在過濾方面嘗試了什麼。你的'GET_USERS' reducer只是返回'[... state,... action.payload]',那麼每次調用action時它都會繼續追加'action.payload'到'state'。你的代碼 –