我有个问题所以,我是新的React,现在我在一个项目中工作。我使用redux-toolkit来处理我的状态,我还使用createEntityAdapter来设置初始状态,问题是这样的:当使用createEntityAdapter发生错误时,如何处理错误。还是我必须创建全局错误状态来处理来自asyncThunk的错误?使用全局错误状态好吗?
下面是我的代码:
import { createSlice, createAsyncThunk ,createEntityAdapter } from '@reduxjs/toolkit'
export const searchRecipe = createAsyncThunk('recipes/SearchRecipe', async (title, { rejectWithValue }) => {
try {
const response = await axios.get(`/recipes?title=${title}`)
return response?.data?.data
} catch(err) {
return rejectWithValue(err?.response?.data?.message || 'Something went wrong')
}
})
const recipeAdapter = createEntityAdapter({
selectId: (recipe) => recipe.recipe_id
})
const recipeSlice = createSlice({
name: 'recipes',
initialState: recipeAdapter.getInitialState(),
extraReducers: {
[getRecipes.fulfilled]: (state, action) => {
recipeAdapter.setAll(state, action.payload)
}
}
})
export const recipeSelectors = recipeAdapter.getSelectors((state) => state.recipes)
export default recipeSlice.reducer
字符串
最后但并非最不重要。是否有更好的解决方案使用redux-toolkit(资源我可以阅读或观看)谢谢
1条答案
按热度按时间qltillow1#
大概是这样的:
字符串