2016-07-09 34 views
0

これは私の組み合わせ減速である:Reduxの:クロス減速状態に応じてアクションをディスパッチ

export const element = (state, action) => { 
    ... 
} 

export const elementSelection = (state, action) => { 
    ... 
} 


const holoApp = combineReducers({ 
    elements, 
    elementSelection 
}) 

elementSelectionの状態は、現在選択された要素を保持しています。現在選択されている要素に従って、要素リデューサでアクションをディスパッチできるようにしたい。

例えば

store.getState(あれば)elementSelection.elementTypeは、このアクションがdisptachedされる "プレースホルダ" に等しい:。

store.dispatch(replaceElement(...)); 

を、そうでなければ、このアクションがディスパッチされます。

store.dispatch(addElement(...)); 

私だけをストレージを構成するappクラスにこのロジックを入れて、クロスレデューサー状態に応じてアクションをディスパッチするのがベストプラクティスかどうか疑問に思います。

答えて

1

あなたはReduxの-サンク

const someAction = elem => (dispatch, getState)=>{ 

    if(getState().elementSelection.elementType == "placeholder"){ 
     dispatch(replaceElement(...)); 
    }else{ 
     dispatch(addElement(...)); 
    } 
} 
とアクションの作成者であることをachiveすることができます
関連する問題