2017-11-19 9 views
1

私は、データの配列を含む状態を持っています。特定のアクションが完了したら、その配列からすべてのデータを削除する必要があります。このコードは、私から清掃配列someDataがために返すdoen'tngrxストアからすべてのデータを削除するには?

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

:ステートアクションで

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

:私は、私は、コードを次している私のコンポーネントの角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>() 
      } 
     } 
} 

を使用します店舗。それはこれが疑わしいビット

someData: new Array<someData>() 

someDataがは、変数名とタイプであるに見える

+0

を参照してください。 –

+0

このコードは動作しません。ストアドントはクリーンな配列を返します – rick1

+0

状態遷移は実行されていますか?新しい状態にsomeDataプロパティの空の配列がありますか? –

答えて

-1

前にあったように、配列は、同じデータが含まれていますか?

質問は何ですか?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)

関連する問題