2017-11-19 2 views
1

Ich habe einen Zustand, der ein Array von Daten enthält. Ich muss alle Daten aus diesem Array entfernen, wenn eine bestimmte Aktion ausgeführt wurde. Ich benutze Angular 2.Wie alle Daten aus Ngrx Store zu entfernen?

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>() 
      } 
     } 
} 

In meiner Komponente ich folgenden Code haben:

this.store.dispatch(new StateActions.RemoveData()); 

In Staatliche Maßnahmen:

export const REMOVE_DATA="REMOVE_DATA"; 
export class RemoveData implements Action { 
    readonly type=REMOVE_DATA; 
} 

Dieser Code doen't Rückkehr für mich gereinigt Array some aus das Geschäft. Das Array enthält dieselben Daten, wie sie vor

war
+0

was ist die Frage? –

+0

dieser code doen't work, speichern doent return gereinigte array – rick1

+0

Ist der Zustandsübergang ausgeführt? Hat der neue Status ein leeres Array für die someData-Eigenschaft? –

Antwort

-1

Dieses etwas zweifelhaft

someData: new Array<someData>() 

some ist ein Variablenname und ein Typ aussieht?

Siehe Declare an array in TypeScript

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)

Verwandte Themen