私は本当に還元されたObject.assign()と混乱していました。誰かがなぜ私たちはReduxで州に直接書き込むことはないのか私に説明しますか?
以下のコードが動作しない理由を私は理解していない...
import { createStore } from "redux"
const userReducer = function (state={}, action) {
switch (action.type) {
case "CHANGE_USER_NAME":
state.name = action.payload
break;
case "CHANGE_USER_AGE":
state.age = action.payload
break;
default:
}
return state;
}
const store = createStore(userReducer)
store.subscribe(() => console.log(store.getState()))
store.dispatch({ type: "CHANGE_USER_NAME", payload: "paul" })
store.dispatch({ type: "CHANGE_USER_AGE", payload: 74 }) // It returned { name: "paul", age: 74 }
store.dispatch({ type: "CHANGE_USER_NAME", payload: "john" }) // It returned { name: "john", age: 74 } changed name to "john" but age is same. This point. is not immutable object?
私はちょうど状態の値に直接書き込むが、結果は私が期待値である...
user.name
が変更されましたuser.age
は変更されません。
私には不変なオブジェクトのようです。私が間違っている ?
誰かが私が州に直接書くことがない理由を誰かに説明しますか? ダミー質問に申し訳ありません。私は理由を試していましたが、理由はわかりません。
これはReactがどのように使われるように設計されているのではないからです。 –