• 1401/08/02

پیاده سازی action و reducer در redux/toolkit :

سلام استاد خسته نباشید. در پیاده سازی action و reducer برای user , course در پروژه تاپلرن اشکال دارم. ممکنه ببینید در کد زیر کجا اشکال هست؟ 

import {createSlice} from '@reduxjs/toolkit';

export const userSlice = createSlice({
    name: "user",
    initialState: {},
    reducers:{
        addUser: (state, action) => {
            state.user = action.payload
        },
        clearUse: (state) => {
            state.user = {}
        }
    },
});

export const { addUser, clearUser } = userSlice.actions
export default userSlice.reducer

-------------------------------------------------------------------

import {createAsyncThunk, createSlice} from '@reduxjs/toolkit';
import { getCourses } from "../services/courseService";

export const getAllCourses = createAsyncThunk("courses/getCourses", async () => {
    const { data } = await getCourses();
    return data.courses;
});



export const coursesSlice = createSlice({
    name: "courses",
    initialState: [],
    reducers:{},
    extraReducers: {
        [getAllCourses.pending.type]: (state) => {
          state = {
            status: "loading",
            data: [],
            error: {},
          };
        },
        [getAllCourses.fulfilled.type]: (state, action) => {
          state = {
            status: "done",
            data: action.payload,
            error: {},
          };
        },
        [getAllCourses.rejected.type]: (state, action) => {
          state = {
            status: "error",
            data: [],
            error: action.payload,
          };
        },
      },
});

export default coursesSlice.reducer 

  • 1401/08/04
  • ساعت 22:38

سلام دوست من

چه مشکلی هست ؟


  • 1401/08/11
  • ساعت 21:21

سلام, مشکل اینه که لاگین میشه و در redux devtools در قسمت actions اطلاعات کاربر میشینه ولی در state کاربر خالی هست و در بالای صفحه اپلیکیشن هم  اسم کاربر رو نشون نمیده و دوره ها هم نه در redux devtools  نشون میده نه در app. با syntax قدیم redux کدها کار میکنه فقط تو store باید بجای createStore بنویسیم configureStore ولی وقتی action و reducer رو با syntax جدید که در بالا نوشتم جایگزین میکنم  ایراد داره. 


  • 1401/08/19
  • ساعت 12:21

ریداکس استفاده شده در دوره قبلی منسوخ شده و باید از ورژن جدید استفاده کنی

پیشنهاد میکنم برای فصل جدید صبر کنی چون در فصل بعدی ریداکس رو کامل آموزش میدم و تمرین خوبی میشه برات که بعد از یادگیری مجدد ورژن جدید پروژه دوره قبلی رو هم تبدیل کنی خودت.


  • 1401/09/02
  • ساعت 00:21

استاد خواهشا همین کدهای بالا رو تصحیح کنید تا اموزش ریداکس در دوره جدید نمی تونم صبر کنم. چون تا به ریداکس برسیم در فصل بعد میشه دو ماه دیگر. ممنون از شما. 


logo-enamadlogo-samandehi