ReactJS Redux Toolkit -如果再次调用,基于ID从API获取数据不会获得第二个ID

ma8fv8wu  于 2022-11-12  发布在  React
关注(0)|答案(1)|浏览(138)

我正在使用ReactJS和Redux工具包(未使用RTK查询)。我设置了一个切片,以便根据ID从API中检索数据。第一次检索数据时,一切正常。如果我尝试为不同的ID检索数据,则不会检索到任何内容,因为它只是返回了存在的内容。我使用redux的方法不正确,还是遗漏了一些简单的内容。以下是代码。更多信息,我想对不同的数据类型使用同一个存储区,但数据的形状是相同的。因此,API调用将是不同的,但放入存储区的数据的形状是相同的。

export const getScoreData = createAsyncThunk(
    'contentitem/scoredata',
    async (params) => {
        return axios.get(`${params.apiAddress}api/v2/scores/${params.scoreId}`)
            .then(
                res => res.data,
                err => console.error(err)
            );
    }
);

export const scoreSlice = createSlice({
    name: 'contentitem',
    initialState,
    reducers: {},
    extraReducers: {
        [getScoreData.pending]: (state) => {
            state.loading = true;
            state.complete = false;
        },
        [getScoreData.fulfilled]: (state, { payload }) => {
            state.loading = false;
            state.complete = true;
            state.data = payload;
        },
        [getScoreData.rejected]: (state) => {
            state.loading = false;
            state.complete = true;
        }
    }
});
watbbzwu

watbbzwu1#

对不起,这不是redux工具包或商店,而是我如何在我的React组件与它交互。问题通过在适当的时间调用调度解决。

相关问题