2016-07-07 16 views
5

Điều này có khả thi không?Thêm trình tăng cường vào kho lưu trữ redux sau khi createStore()

Tôi đang sử dụng redux lưu trữ trong môi trường IoC và muốn thêm phần mềm trung gian vào cửa hàng sau khi được tạo.

ví dụ .:

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

let app = new MyApp(); 

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

Tôi sẽ quan tâm đến lý do tại sao điều này là cần thiết? Việc thêm phần mềm trung gian sau này có thể làm cho cửa hàng và cập nhật ít khả năng dự đoán hơn. Trường hợp sử dụng của bạn là gì? –

+0

Điều này được thực hiện cho một cách tiếp cận khác. 'redux' là từ trên xuống, ứng dụng xác định module nào sẽ sử dụng. Những gì tôi đang làm việc trên là IoC/plugin dựa, do đó toàn bộ logic được phân cấp. Đó là lý do tại sao tôi cần phải làm điều này. – unional

Trả lời

2

Tôi đã tạo ra một chức năng để làm điều này. Nếu redux nghĩ điều này có giá trị, tôi có thể thực hiện PR.

Đây là mã phù hợp với mô-đun của tôi. Một thực tế thêm vào PR sẽ trông hơi khác một chút.

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

    this.dispatch = compose(middleware(middlewareAPI))(this.dispatch); 
} 
Các vấn đề liên quan