
[Redux] 비동기 작업 처리하기(useEffect, thunk)
리덕스 환경에서 비동기 작업을 처리해 보자. 지난번 리덕스 툴킷 실습에서 사용했던 카트 예제를 그대로 사용할 것이다. 기존에 로컬 데이터로 가지고 있었던 카트의 데이터를 서버로 옮기고서 카트에 아이템을 추가하거나 제거해서 업데이트할 때 서버로 데이터를 보내고 처음 페이지를 로딩할 때는 서버에서 데이터를 가져오도록 만들어 보자. 리덕스에서 비동기 작업을 처리하는 법 여기서 카트는 상태로 존재하고, 이 상태를 업데이트하는 함수들은 전부 리듀서 함수다. 리듀서 함수는 순수함수이기 때문에 그 내부에서 사이드이펙트를 처리할 수 없다. 즉, 카트 상태를 서버에서 가져오는 작업을 지금 가진 리듀서 함수 내에 넣어둘 수 없다. 그러면 서버와 통신하는 작업을 처리할 코드를 어디에 둬야 할까? 더 많은 방법이 있지만 일단..