我正在学习 NgRx,但我不知道如何更改状态对象内的嵌套值。
import { createReducer, on } from '@ngrx/store';
import { Money } from '@models/money';
import { setMoney } from '@actions/money.actions';
export interface MyState {
money: Money;
status: 'pending' | 'loading' | 'error' | 'success';
error: string;
}
export const initialState: MyState = {
money: {
dollars: 10,
cents: 60,
},
status: 'pending',
error: ''
}
export const myReducer = createReducer(
initialState,
on(setMoney, (state, value) => ({
...state,
...state.money.dollars: value, // How to access money.dollars and change it's value?
}))
在此示例中,如何更改 MyState.money 的美元或美分值?
谢谢!
export const myReducer = createReducer(
initialState,
on(setMoney, (state, value) => ({
...state,
money: {...state.money, dollars: value }
})
)
为了让事情变得更简单,您还可以使用ngrx-immer