- 리덕스의 FLUX 과정은 동기적으로 일어나기 때문에 api 통신같은 외부 리소스를 가져오는 경우에는 비동기적인 middleware 가 필요하다.
- yield 는 redux-saga effect 가 아닌 일반 generator 함수에서 사용되는 것
(코드 진행 중 yield 키워드를 만나면 멈춘 후 계속 진행하라는 지시가 전달되면 다음 yield 키워드까지 코드를 진행시킴)
Redux-saga
- ES6에서 도입된 generator 함수를 기반으로
- redux-saga 에서 제공하는 다양한 effect
- call : 함수의 동기적 호출
- fork : 함수의 비동기적 호출
- put : 액션의 dispatch
- takeEvery : 모든 액션에 대해 동작
- takeLatest : 같은 액션이 여러번 요청될 때 가장 마지막 액션에 대해서만 동작
- select : 스토어에 접근해서 값을 가져올 수 있음