2016-04-22 4 views
8

Was ist der Konsens über eine Aktion, die mehrere Teile des Statusbaums in Redux betrifft?Kann eine Redux-Aktion mehrere Teile des Statusbaums beeinflussen?

Zum Beispiel:

const ADD_POST = 'POST/ADD'; 

function postsReducer(state = initialState, action = {}) { 
    // switch ... 
    case ADD_POST: 
     return { 
      ...state, 
      ...action.result.post 
     } 
} 

function anotherReducer(state = initialState, action = {}) { 
    // switch ... 
    case ADD_POST: 
     return { 
      ...state, 
      post_id: action.result.post.id 
     } 
} 

Ich suche Rat auf:

Aktionen mehrere Teile des redux store/Zustand

Antwort

7

Ja, absolut. Es ist der ganze Grund, warum Aktionen existieren: zu trennen, was aus der Sicht der Komponente geschah, von dem, was tatsächlich in Bezug auf den Zustandswechsel geschieht.

+0

Vielen Dank! Dieses Konzept hilft mir wirklich, meine Staatsstruktur zu normalisieren. Ich habe vorgeschlagen, Nest Reducer, ich fühlte nur, dass zusätzliche Komplexität für keinen Gewinn – AndrewMcLagan

-1

Ja zu beeinflussen, ist es ok. Wenn es das ist, was du willst.

+1

Können Sie es ausarbeiten? es scheint mir ok. Ich versuche zu vermeiden, "verschachtelte Reduzierungen" Muster, dass ich einige Leute suggerieren und implizieren. Verschachtelte Reduktionen scheinen so komplex zu sein. – AndrewMcLagan

+0

Ja, es scheint in Ordnung zu sein. Wenn Sie Ihre Aktion nur auf einen Teil des Statusbaums anwenden möchten und denselben Reduzierer für verschiedene Teile verwenden möchten, benötigen Sie einen Weg, dies zu erreichen. Was Sie beschreiben, ist, was standardmäßig passiert. – Tom

+0

Es ist verrückt zu denken, dass alle Reduzierungen sind jede Zustandsänderung aufgerufen. Scheint CPU-intensiv – AndrewMcLagan

Verwandte Themen