인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

taylous님의 프로필 이미지
taylous

작성한 질문수

실전 리액트 프로그래밍

middleware 구조에 대한 질문이 있습니다.

해결된 질문

작성

·

285

0

안녕하세요.

미들웨어 구조에 대해 궁금한 점이 생겨 질문을 하게 되었습니다.


const loggerMiddleware = (store) => (next) => (action) => { ... }

미들웨어가 위의 처럼 화살표 함수로 구조를 이루는 것으로 알고 있습니다.

그런데 왜 이렇게 화살표 함수로 써야하는지 잘 모르겠습니다. 검색과 책을 참고해도 명확히 이해가 되지 않네요.

왜 이런 구조를 가져야 하는지 자세하게 설명해주실 수 있으실까요?


답변 주시면 감사하겠습니다.

답변 1

1

이재승님의 프로필 이미지
이재승
지식공유자

안녕하세요
혹시 화살표 함수 말고 일반 함수도 되는거 아닌가? 라는 질문이시라면 일반 함수도 됩니다
그게 아니라 왜 중첩된 함수형태여야 하는가? 라는 질문이라면,
그건 리덕스가 그렇게 설계되었기 때문입니다

함수가 중첩된 구조라서 얻는 이점 중에 하나는 applyMiddleware 같은 함수를 예로 들 수 있습니다.
아래 링크에 있는 코드처럼 여러 개의 미들웨어 함수를 dispatch 라는 하나의 함수로 묶을(compose) 수 있게 됩니다.

https://github.com/reduxjs/redux/blob/3cf3b0f48c4093aaa094eedb11efa8656e9b0309/src/applyMiddleware.ts#L79-L80

taylous님의 프로필 이미지
taylous

작성한 질문수

질문하기