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
'React' 카테고리의 다른 글
[React] useReducer를 사용하면, dispatch 후, 로직 순서 보장이 안 된다. (0) | 2023.01.15 |
---|---|
[Redux-saga]왜 그냥 제너레이터만 안 쓰고, 사가로 제너레이터 처리를 해야하는가? (0) | 2022.11.07 |
[testing-library] 인풋필트 빈 값으로 만들기 (0) | 2022.10.29 |
[React] 모르는 것 (0) | 2022.10.14 |
[redux] redux는 비동기 처리를 어떻게 하고 있을까? (0) | 2022.08.13 |
댓글