Nach dem Lesen sowohl auf Middleware und source code auf applyMiddleware, verstehe ich nicht, warum Middleware das Curry benötigt Syntax:Warum Curry Redux Middleware: Zustand => nächste => Aktion {} vs. (Zustand, nächste) => Aktion {}
dispatch = compose(...middleware)(middlewareAPI , store.dispatch)
:
const logger = store => next => action => {
console.log('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
return result
}
konnte nicht dasselbe, indem Sie
const logger = (store, next) => action => {
console.log('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
return result
}
Herstellung des compose Aufruf in applyMiddleware erreicht werden
Es * könnte *, aber es würde wahrscheinlich wegen der Mischung mehr verwirrend aussehen. Ist "applyMiddleware" der einzige Ort, an dem ein 'Logger' verwendet werden könnte? – Bergi
Ich sehe es verwirrend @Bergi, ich kann es mir selbst und anderen besser sagen, dass eine Middleware ein Geschäft und die nächste Methode dauert, die es aufrufen muss, und es gibt Ergebnis von next() zurück. Dies macht es auch ähnlich wie "express.js" –
Aber was, wenn Sie erklären müssen, dass es eine Speicherung und nächste Methode zusammennimmt und dann eine Funktion zurückgibt, die eine Aktion ausführt und ... Sie haben immer noch eine Curry-Funktion und durch * Mischen * Der Curry-Stil mit dem Tupel-Stil wird Sie verwirren, und die Frage, warum nicht einfach alles curried wurde. – Bergi