Rayden Storm نشر 13 يونيو 2021 أرسل تقرير مشاركة نشر 13 يونيو 2021 مؤخرا أحاول الانتقال من redux الى redux toolkit وقد تعودت على الأساسيات الخاصة ب reducer import { createSlice } from '@reduxjs/toolkit'; const initialState = { value: 10, }; const counterSlice = createSlice({ name: 'counter', initialState, reducers: { increment(state) { state.value++; }, decrement(state) { state.value--; }, incrementby(state, action) { state.value += action.payload; }, }, }); export const { increment, decrement, incrementby } = counterSlice.actions; export default counterSlice.reducer; لكن ماذا اذا اردت عمل dispatch ل action تجلب البيانات من السيرفر ب axios كيف يمكن القيام بذلك في حالة استخدام redux toolkit 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Abdullah Muhammad نشر 13 يونيو 2021 أرسل تقرير مشاركة نشر 13 يونيو 2021 يمكنك إستخدام createAsyncThunk الخطوة الأولى قم بإنشاء "thunk" كالتالي const fetchUserById = createAsyncThunk( 'users/fetchByIdStatus', async (userId, thunkAPI) => { const response = await userAPI.fetchById(userId) return response.data } ) الخطوة الثانيه قم بالتعامل مع هذا الأكشن داخل ال reducer عن طريق إستخدام extraReducers كالتالي const usersSlice = createSlice({ name: 'users', initialState: { entities: [], loading: 'idle' }, reducers: { }, extraReducers: { [fetchUserById.fulfilled]: (state, action) => { state.entities.push(action.payload) }, }, }) وأخيرا يمكنك أن تستدعي هذا ال "thunk" وعمل "dispatch" dispatch(fetchUserById(123)) اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Rayden Storm
مؤخرا أحاول الانتقال من redux الى redux toolkit وقد تعودت على الأساسيات الخاصة ب reducer
لكن ماذا اذا اردت عمل dispatch ل action تجلب البيانات من السيرفر ب axios كيف يمكن القيام بذلك في حالة استخدام redux toolkit
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.