2017-01-26 18 views
1

の状態に基づいて1つの減速機の状態私はこのようになります状態と減速状態を持っている:更新別の減速

この状態は、現在のユーザーの選択を処理します。

const selection = { 
    timespan: "-3660", 
    customTimespan: false, 
    pathIds: [''], 
    source: undefined, 
    direction: 0, 
    appClassIds: [] 
}; 

そして私は、項目のリストを持っている別の減速に別の状態を持っているユーザーは、木の上にオンまたはオフに切り替えることができappClasses。

状態はappClassesです。

ユーザーが何かを選択すると、appClasses状態を更新するだけでなく、appClassesの新しい状態に応じて、selection.appClassIdsを更新する必要があります。

私の質問は、別のレデューサーの状態に基づいてどのようにレデューサーの状態を更新できますか?あるいは、ある州の州を組み合わせなければならないのですか?あなたはこのように行うことができます

const initialState = { 
appClasses = [], 
selection: { 
    timespan: "-3660", 
    customTimespan: false, 
    pathIds: [''], 
    source: undefined, 
    direction: 0, 
    appClassIds: [] 
} 
}; 
+0

- のような...彼らはすることにより、純粋な関数です - 減速は本質的にステートレスです状態を保持しません。あなたは質問しています: "私は、私のreduxアプリケーションでクロスカッティングの懸念を扱うのですか?" –

+0

ええ、私は2つの減速機を持っていると言うので、もう一方の状態に依存します。 –

+1

トピックのRedux FAQエントリをhttp://redux.js.org/docs/faq/Reducers.html#reducers-share-stateでご覧ください。 – markerikson

答えて

1

::のような

何かを確認するには

function a(state, action) { } 
function b(state, action, a) { } // depends on a's state 

function something(state = {}, action) { 
    let a = a(state.a, action); 
    let b = b(state.b, action, a); // note: b depends on a for computation 
    return { a, b }; 
} 

乾杯:)

関連する問題