2016-08-16 1 views
1

Hallo arbeite ich gerade in Redux und zur Zeit bin ich nur verwirrt über eine redux Syntax gegeben in einem Redux-Cheat-Blatt Redux Cheat Sheet from Egghead:Chained Pfeil Funktion in Redux Syntax

const actionLogger = ({dispatch, getState}) => 
(next) => (action) => 
{ console.log(action); return next(action) } 

Also meine Frage ist: Wie verhalten sich diese "verketteten" Pfeilfunktionen?

Antwort

2

Sie können es aufschreiben wie:

const actionLogger = function({dispatch, getState} /* this is store object */) { 
    return function(next) { 
    return function(action) { 
     console.log(action); 
     return next(action); 
    }; 
    }; 
}; 

Also im Grunde gekettet Pfeil Funktionen verschachtelt Funktionen darstellen. Es könnte ein bisschen verwirrend sein.

Detailed explanation how redux middleware works

+0

Also, was ich noch verwirrt, wo Versand und getState in dieser verschachtelten Funktionen enden? – fisehara

+0

In der Tat ist das einzige Argument, das an die erste Funktion übergeben wird, der 'Speicher'. Das Beispiel verwendet [Destrukturierungszuordnung] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment), um die Methoden "dispatch" und "getState" zu erhalten. Sie können sie in der letzten Funktion verwenden, in der Sie 'next (action)' zurückgeben, aber normalerweise müssen Sie 'dispatch' nicht verwenden, da dies eine neue Aktion auslöst, stattdessen sollten Sie' next' verwenden –