RTK新版本extraReducers中action类型

来源:10-7 【概念理解】createAsyncThunk 理论基础

qq_慕用0227865

2022-12-15

自己写的一个demo,但 fulfilledaction.payload 拿不到值

export const fetchJokes = createAsyncThunk(
    "joke/fetchStatus",
    (num: number) => {
        axios.get(`https://autumnfish.cn/api/joke/list?num=${num}`)
            .then(res => {
                return res.data.data;
            }
    }
)
export const jokeSlice = createSlice({
    name: "joke",
    initialState: initJokeState,
    reducers: {},
    extraReducers: builder => {
        builder
            .addCase(fetchJokes.pending, (state) => {
                state.loading = true;
            })
            .addCase(fetchJokes.fulfilled, (state, action) => {
                state.loading = false;
                state.jokes = action.payload; // 这里为什么说payload是void
            })
            .addCase(fetchJokes.rejected, state => {
                state.loading = false;
            })
    }
})

请问这里action的类型是怎么决定的?

写回答

1回答

阿莱克斯刘

2023-01-11

所谓rtk的新旧版本在逻辑上并没有区别,不同的只是语法糖而已。action.payload在“旧版本”中可以获得数据吗?

0
0

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程