簡體   English   中英

Redux / React-Redux-在reducer中使用“ state = XXX”

[英]Redux/React-Redux - using “state = XXX” in the reducer

我們將Redux.js與React.js(React-Redux)一起使用,在reducer中,我們使用以下代碼(我們使用redux-actions來減少樣板):

const update = require('react/lib/update');
const myReducer = handleActions
({
     [myAction]: (state, action) => {
         state = update(state, {
             something: {$set: !state.someProperty}
         });
         return someFunction(state);
     }
})

我們使用來自React不可變性助手的 update ,但是使用state =將結果分配到state =

這是否違反了Redux基本准則 -即改變狀態? 看起來是這樣,但是代碼似乎可以完美,快速地運行,並且redux devtools顯示狀態正確...

你舉的例子好的,因為你沒有真正變異的對象的內容state變量指向。 相反,您只是更新名為state的局部變量以指向另一個對象。

了解變量和引用在Javascript中的工作方式非常重要,這將有助於弄清這里發生的事情。

就個人而言,為清晰起見,我建議進行const newState = update(....)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM