인프런 커뮤니티 질문&답변

퐁미님의 프로필 이미지
퐁미

작성한 질문수

[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편

thunk 미들웨어 타이핑하기

미들웨어가 커링패턴으로 이루어진 이유

해결된 질문

작성

·

382

0

const thunkMiddleware: Middleware = (store) => (next) => (action) => { 
  if(typeof action === 'function) { 
    return action(store.dispatch, store.getState) // 비동기 
  } 
  return next(action) // 동기 
}

안녕하세요!

store => next => action 의 커링패턴으로 이루어진게 store 함수에 접근하기 위함일까요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

그냥 사용하기 쉽게 만들기 위함이 더 큰 것 같습니다. redux가 추구했던 함수형 패턴이기도 하고요.

const a = thunkMiddleware(store)
const b = a(next)
const c = b(action) // 또는 a(next)(action)

등 자유롭게 조합해서 사용할 수 있습니다.

퐁미님의 프로필 이미지
퐁미

작성한 질문수

질문하기