2017-11-14 12 views
0

マイストアは、次の減速が含まれて動作していない:ngrx /ストアのinitストアが適切に

export const centralStampState = { 
    layoutState : layoutReducer, //this one is not initialized 
    eventTabState : eventTabReducer, 
    eventTimelineState: eventTimelineReducer, 
    eventWorkflowState : eventWorkflowReducer, 
    displayLayerState : displayLayerReducer, 
    treeState : TreeReducer 
} 

問題は角度がすべて減速をinitilize、一つだけ「layoutState」は最初のアクションを発射した後initilizedされていることである(どのundefinedObjectへのアクセスを引き起こします)。

私はすべての還元剤と状態について同じ実装を行っていますが、私はこの奇妙な動作の原因を理解しませんでした。

次は、初期化後にストアの状態で、最初のアクション enter image description here

enter image description here

後、マイ実装では、すべての減速のために同じです。

export function layoutReducer(state: LayoutState = INITIAL_LAYOUT_STATE, action: Action) : LayoutState{ 
    switch (action.type){ 
    case UPDATE_SPLIT_CONFIG_DIMENSION : 
     return updateSplitConfigDimension(state, action); 
    case DISABLE_SPLIT_CONFIGURATION: 
     return state; 
    case UPDATE_SPLIT_AREA_VISIBILITY : 
     return state; 
    case RESTORE_DEFAULT_CONFIG_LAYOUT : 
     return state; 
    } 
} 

export function eventTabReducer(state: EventTabState = EVENT_TAB_INITIAL_STATE, action: CSAction): EventTabState { 
    switch (action.type) { 
    case LOAD_SUPPORTED_REPORT_FIELDS: 
      return state; 
    default: 
     return state; 
    } 
} 

答えて

0

TypescriptではなくJAVAであれば、コードはまったくコンパイルされません!!!!!!!!

スイッチケース内にdefaultステートメントがありません。角度がアクション@ngrx/store/initを処理している場合、layoutReducerはこの操作を無視し、デフォルトステートメントが見つからない場合はnullを返します。

export function layoutReducer(state: LayoutState = INITIAL_LAYOUT_STATE, action: Action) : LayoutState{ 
    switch (action.type){ 
    case UPDATE_SPLIT_CONFIG_DIMENSION : 
     return updateSplitConfigDimension(state, action); 
    case DISABLE_SPLIT_CONFIGURATION: 
     return state; 
    case UPDATE_SPLIT_AREA_VISIBILITY : 
     return state; 
    case RESTORE_DEFAULT_CONFIG_LAYOUT : 
     return state; 
    default: 
     return state;// with this Angular can perform the ngrx init action 
    } 
} 
関連する問題