(1) 미들웨어란?
dispatch(함수) → 함수실행 → 함수안에서 dispatch(객체)
// thunk 함수는 createAsyncThunk 라는 툴킷 API를 사용해서 생성한다.
// __가 함수 이름에 붙는 이유는 이 함수가 thunk 함수라는 것을 표시하기 위한
// 개인의 convention 이다. 함수의 이름은 본인이 편한 이름으로 명명해도 된다.
export const __addNumber = createAsyncThunk(
"ADD_NUMBER_WAIT",
(arg, thunkAPI)=>{},
);
// src/redux/modules/counterSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
export const __addNumber = createAsyncThunk(
// 첫번째 인자 : action value
"addNumber",
// 두번째 인자 : 콜백함수
(payload, thunkAPI) => {
setTimeout(() => {
thunkAPI.dispatch(addNumber(payload));
}, 3000);
}
);
**createAsyncThunk
를 이용한다.****createAsyncThunk()
의 첫번째 자리에는 action value, 두번째에는 함수가 들어간다.**