
[英]TypeError: Cannot destructure property 'position' of 'undefined' as it is undefined
[英]TypeError: Cannot destructure property 'rejectWithValue' of 'thunkAPI' as it is undefined
我正在关注此代码的教程:
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import { Axios } from "axios";
export const getData = createAsyncThunk("data/get", async (thunkAPI) => {
try {
const response = await Axios.get("/data");
return response.data;
} catch (error) {
const { rejectWithValue } = thunkAPI;
return rejectWithValue(error.response.data);
}
});
我阅读了文档,但显然这段代码应该没有任何问题。 尽管如此,我还是收到rejectWithValue
未定义的错误。 那么问题是什么? 我有安装一些 package 吗? 还是符号改变了?
thunkAPI
是您正在创建的异步操作的payloadCreator的第二个参数。 第一个参数是分派时传递给操作的任何值。 如果您没有传递任何值,您仍然需要将它“分配”给局部变量,以便您可以访问第二个参数“thunkAPI”。 您可以使用您喜欢的任何有效的 Javascript 标识符,但标准约定是将参数分配给_
以指示它“未使用”。 将其命名为arg
可能会使其更具可读性。
例子:
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import { Axios } from "axios";
export const getData = createAsyncThunk(
"data/get",
async (arg, thunkAPI) => {
try {
const { data } = await Axios.get("/data");
return data;
} catch (error) {
const { rejectWithValue } = thunkAPI;
return rejectWithValue(error.response.data);
}
},
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.