2016-07-07 2 views
5

Ist das möglich?Hinzufügen von Enhancer zum Redox-Speicher nach createStore()

Ich verwende redux Speicher in einer IoC-Umgebung und möchte Middleware zu dem Geschäft hinzufügen, nachdem es erstellt wurde.

z.B .:

class MyApp { 
    store = createStore(...); 
} 

let app = new MyApp(); 

// later on 
import thunk from 'redux-thunk'; 
app.store.addEnhancer(thunk); 
+0

Ich würde mich interessieren, warum dies notwendig ist? Späteres Hinzufügen von Middleware könnte den Store und die Updates weniger vorhersehbar machen. Was ist dein Anwendungsfall? –

+0

Dies ist für einen anderen Ansatz getan. 'redux' ist von oben nach unten, die Anwendung bestimmt, welches Modul sie verwenden würde. Woran ich arbeite, ist IoC/plugin-basiert, somit ist die gesamte Logik dezentral. Deshalb muss ich das tun. – unional

Antwort

2

Ich habe eine Funktion, dies zu tun erstellt. Wenn redux denke, das ist wertvoll, kann ich eine PR machen.

Dies ist Code, der auf mein Modul zugeschnitten ist. Die tatsächliche Ergänzung zu PR wird ein bisschen anders aussehen.

addMiddleware(middleware: Middleware) { 
    const middlewareAPI: MiddlewareAPI<any> = { 
    getState: this.getState, 
    dispatch: (action) => this.dispatch(action) 
    }; 

    this.dispatch = compose(middleware(middlewareAPI))(this.dispatch); 
} 
Verwandte Themen