- reducer 함수 내에서 비동기 작업을 수행하면 안 된다.
- reducer 함수로 들어온 인수를 변경해서는 안된다.
- reducer 함수로 들어온 인수가 같다면 결과는 항상 동일해야 한다
reducer 함수는 위의 3가지 조건을 충족하는 순수한 함수 여야 합니다.
저는 redux-tollkit에서 지원하는 createAsyncThunk에 대해 알아보겠습니다.
const fetchUserById = createAsyncThunk(
'users/fetchByIdStatus',
async (userId: number, thunkAPI) => {
const response = await userAPI.fetchById(userId)
return response.data
}
)