Redux Toolkit Setup : help
- npm install @reduxjs/toolkit react-redux
- configureStore
- createSlice
- export cartSlice.reducer
- export cartSlice.actions : addToCart , removeFromCart
- createSlice
- export filterSlice.reducer
- export filterSlice.actions : toggle , toggleBrand
- structure :
-
- utils > axios.config.js
- switch URL depending on .env.local:
-
- production : productionServer
-
- development+default : local server
- axios.create({ })
-
- set baseURL property and export default
- createSlice
- export productsSlice.reducer
- productsAPI.js
-
- axios.get("/product")
- createAsyncThunk help
-
- export createAsyncThunk function to dispatch
-
- parameters
-
-
- actions name
-
-
-
- async callback function ( passes value when dispatch , thunkAPI)
-
-
-
-
- return data after fetching
-
-
- extraReducers (builder)
-
- builder.addCase()
-
-
- createAsyncFunction.pending , createAsyncFunction.fulfilled, createAsyncFunction.rejected
-
-
-
- callbackFunction(state,action)
-
-
-
-
- actions: get data which return from createAsyncFunction
-
-
-
-
-
- state: to manipulate state for each pending , fulfilled , rejected case
-
-