![](/img/trans.png)
[英]How to remove transient events from RxJS combineLatest with NGRX store source observable
[英]how to remove all data from ngrx store?
我有一個包含數據數組的狀態。 完成某些操作后,我需要從該數組中刪除所有數據。 我使用Angular 2。
const intialState: State = {
someData: new Array<someData>()
};
export function stateReducer(state = intialState, action: StateActionList.StateActionList) {
switch (action.type) {
case StateActionList.REMOVE_DATA:
console.log(state.someData);
return {
...state,
someData: new Array<someData>()
}
}
}
在我的組件中,我有以下代碼:
this.store.dispatch(new StateActions.RemoveData());
在國家行動中:
export const REMOVE_DATA="REMOVE_DATA";
export class RemoveData implements Action {
readonly type=REMOVE_DATA;
}
該代碼不會為我返回從商店中清理的數組someData。 該數組包含與以前相同的數據
嘗試顯式返回一個空數組作為新狀態:
case StateActionList.REMOVE_DATA:: {
return {
someData: []
};
}
這看起來有點可疑
someData: new Array<someData>()
someData是變量名和類型嗎?
let arr1: boolean[] = [];
let arr2: boolean[] = new Array();
let arr3: boolean[] = Array();
let arr4: Array<boolean> = [];
let arr5: Array<boolean> = new Array();
let arr6: Array<boolean> = Array();
let arr7 = [] as boolean[];
let arr8 = new Array() as Array<boolean>;
let arr9 = Array() as boolean[];
let arr10 = <boolean[]> [];
let arr11 = <Array<boolean>> new Array();
let arr12 = <boolean[]> Array();
const state = { someData: new Array() }; console.log('empty', state.someData) state.someData.push('a') console.log('contains "a"', state.someData) const remove = () => { console.log('constians "a"', state.someData); return { ...state, someData: new Array() } } const newState = remove() console.log('empty', newState.someData)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.