Vielleicht wurde dies bereits beantwortet, aber ich habe Schwierigkeiten, die Antwort zu finden.Access State von einem anderen Reducer React/Redux
Ich habe Reduzierer mit ihrem eigenen Anfangszustand. Gibt es einen Weg (natürlich gute Praxis), um von einem Reduzierer auf den Ausgangszustand zuzugreifen?
Reducer One:
const initialState = Immutable.fromJS({ loadData: [] })
const reducerOne = (state = initialState, action) => {
switch (action.type) {
case SELECT_REPORT_FORMAT: {
return state.merge({ loadData: state.get('loadData') });
}
....
}
Reducer Two:
const initialState = Immutable.fromJS({ newData: [] });
const reducerTwo = (state = initialState, action) => {
switch (action.type) {
case GET_NEW_DATA: {
// Is there a way to "call" the SELECT_REPORT_FORMAT in
// reducerOne and get its new state (state.get('loadData')) from here?
// I did add case SELECT_REPORT_FORMAT in this reducer, and
// it did get called, but the state is with the property of
// newData, which makes sense. I need to access the loadData
// array from here.
return state.merge({ newData: state.get('loadData') });
}
....
}
Dank!
Vielen Dank für die Antwort, aber ich muss die Endergebnisse des Ausgangszustands nach seinem Aufruf von "SELECT_REPORT_FORMAT" in Reduzierer eins erhalten. – FNMT8L9IN82
Ich meine, ich brauche den Rückgabewert von state.merge ({loadData: state.get ('loadData')}}) in Reducer zwei. – FNMT8L9IN82
Ok, also nicht der Ausgangszustand, du hast den Zustand nach einigen Aktionen gesagt. In diesem Fall, nein, sollten Sie nicht in den Zustand anderer Reduzierungen greifen, da dies die Kapselung unterbrechen würde und unendliche Schleifen verursachen könnte. Warum lässt eine Komponente keine Aktion auslösen, die ReducerA als Reaktion auf eine Zustandsänderung durch ReducerB verwendet? – ZekeDroid