본문 바로가기
React

[Redux + Redux saga] 리덕스와 리덕스 사가는 뭔가? 왜 쓰는가?

by devebucks 2022. 11. 2.
728x90

Redux

정의

 

 

왜 사용함?

리덕스의 기능을 확장할 때는 middleware를 사용한다.

리덕스의 액션 요청 사이사이에 비동기 요청이 들어가게 한다.

 

 

어떻게 사용함?

 

Redux-saga

정의

 

 

왜 사용함?

리덕스는 동기로만 처리가 일어난다. 리덕스를 비동기로 처리하는 방법은 thunk라는 redux toolkit과 observable이 있지만,Redux saga로도 비동기 처리를 구현할 수 있다. 

 

redux thunk는 쉽다. 대신 기능이 부족하다. 편하다. 실무에서는 redux saga를 쓴다.

 

 

redux에 middleware로 redux-saga를 넣어서 비동기 동작을 하게 한다.

redux-saga는 타입스크립트 친화적이지 않다.

 

 

어떻게 사용함?

제너레이터: 함수 실행을 중간에 멈출 수 있다. 원할 때 함수 실행을 다시 실행할 수 있게 하는 Javascript 기능이다.

제너레이터는 비동기 처리할 때 사용한다.

 

 

 

웹 운용

웹의 구조는 상태관리와 view component를 분리한다.

상태관리는 redux에서만 다룬다.

view component는 커스텀 훅을 사용해서, redux와 상호작용을 한다.

728x90

댓글