2016-06-05 6 views
0

나는 내 머리 속에이 질문을 가지고 있는데, 이것이 유효한지 아닌지는 잘 모르겠다. 아래는 중간 콘솔의 아웃룩 아웃 스토어 로그 아웃이다. REDUX은 (만약 내가 잘못 정정 해줘) logger(store)(store.dispatch)(action)로 호출에 있도록Redux 미들웨어 currying

const logger = store => next => action => { 
    console.log('dispatching', action) 
    let result = next(action) 
    console.log('next state', store.getState()) 
    return result 
} 

나는 그것이을 무두질 를 사용하고 볼 수 있습니다. 우리가 여기에 내가 천천히도 함께 리듬을 내 머리를 얻기 위해 함수형 프로그래밍으로 이동하고 어떤 제안을 대신

(store, next, action) => { // do the rest }

감사를 무두질 왜 내 질문입니다.

답변

1

상품 문제입니다. 나는 redux가 개발자들에게 3 가지 고리를 제공하고 싶어한다고 생각합니다.

우리는 그 다음 우리는 세 개의 후크 기능을 얻을

let haveStoreAndDispacth = logger(store); 
let haveNext = haveStoreAndDispacth(next); 
let haveAction = haveNext(action); 

에 호출 체인 logger(store)(next)(action)을 분할 할 수 있습니다. haveStoreAndDispacth 콜백 함수에서 상점이 생성되었습니다.
haveNext 콜백 함수에서 다음 미들웨어를 얻습니다.
HaveAction 콜백 함수에서 우리는 이전 미들웨어의 결과 action으로 무엇인가 할 수 있습니다.

콜백 haveStoreAndDispacthhaveNextapplyMiddleware(...middlewares)(createStore)에서 한 번만 호출하면됩니다.