리덕스 미들웨어

2SUKIM·2021년 8월 28일
0

Redux

목록 보기
3/3

리덕스 미들웨어는 무엇인가

리덕스 미들웨어는 리듀서가 액션을 처리하기 전에 실행되는 함수입니다. 상태값 변경 시 로그를 출력하거나, 예외를 전송하는 등의 목적으로 사용할 수 있습니다.
먼저, 리덕스 미들웨어의 동작 흐름을 먼저 그림을 통해 보도록 하겠습니다.

리덕스 미들웨어가 필요한 이유

기존의 리덕스는 액션이 발생하게 되면, 디스패치를 통해 스토어에게 상태 변화의 필요성을 알리게 됩니다. 하지만, 디스패치된 액션을 스토어로 전달하기 전에 처리하고 싶은 작업이 있을 수 있겠죠. 가령, 단순히 어떤 액션이 발생했는지 로그를 남길 수도 있겠고, 액션을 취소해버리거나, 또 다른 액션을 발생시킬 수도 있습니다.

우리가 알고 있는 리덕스는 동기적인 흐름을 통해 동작합니다. 액션 객체가 생성되고, 디스패치가 액션 발생을 스토어에게 알리면, 리듀서는 정해진 로직에 의해 액션을 처리한 후 새로운 상태값을 반환하는 과정이죠. 하지만, 동기적인 흐름만으로는 처리하기 힘든 작업들이 있습니다. 가령, 시간을 딜레이시켜 동작하게 한다던지, 외부 데이터를 요청하여 그에 따른 응답을 화면에 보여주어야 한다면 어떻게 처리해주어야 할까요?

리덕스에서는 이러한 비동기 작업을 처리하기 위한 지침을 알려주지 않고 있기 때문에 이러한 비동기 작업을 처리하는 데 있어 리덕스 미들웨어를 주로 사용합니다.

대표적인 리덕스 미들웨어는 무엇인가

리덕스 미들웨어는 여러 종류가 있지만, 대표적인 리덕스 미들웨어로는
어떤 액션이 발생했는지 로그를 남겨주는 redux-logger부터 비동기 작업을 처리할 수 있게 해주는 redux-thunk, redux-saga가 있습니다.

profile
배운 것을 기록하는 블로그입니다.

0개의 댓글

관련 채용 정보