我在从action返回数据到redux时遇到了一个问题。
我的动作如下:
export const getUserProfile = createAsyncThunk(
"user/getuserprofile",
async (thunkAPI) => {
var res, user;
const isAuthenticated = localStorage.getItem("isAuthenticated") === "true";
var decodedToken = null;
if (isAuthenticated) {
const access_token = localStorage.getItem("access_token");
decodedToken = jwt_decode(access_token);
user = decodedToken.sub;
}
try {
res = await axios
.get(`${host}/manageAdmins/getUserProfile/${user}`)
.then((response) => {
return response.data;
});
} catch (error) {
return thunkAPI.rejectWithValue(error.response.data, { source: "API" });
}
}
);
在我的减速器中,代码如下:
builder.addCase(getUserProfile.pending, (state, action) => {
console.log("pending");
});
builder.addCase(getUserProfile.fulfilled, (state, action) => {
console.log("my payload: ");
console.log(action.payload);
state.userProfile = action.payload;
});
builder.addCase(getUserProfile.rejected, (state, action) => {
console.log("rejected");
});
当我控制负载时,它说undefined
。但是当我在操作部分中控制我的数据时,它有一个我想要的值。问题是,它不响应有效载荷的减速器。
是否有另一种方法来返回数据时状态完成?我试过fulfillWithValue(value, meta)我从文件中看到的。但没有用。请有人帮我做这件事。这一点。我很欣赏!'
您需要return res
-当前您正在接收该数据,但未对其进行任何操作。