javascript - 我应该如何设置 createAsyncThunk 中的参数和参数?

标签 javascript reactjs typescript react-native

有时,当我运行loadPosts调度时,我不发送任何数据,有时我将lastId数据发送到相同的loadPosts调度。

此时我不知道如何定义 createAsyncThunk 中的数据类型。 当我运行代码时,我在 loadPosts 中收到红色警告。

喜欢这个截图

enter image description here

它说 预期有 1 个参数,但得到了 0 个。

如何修复我的代码?

这是我的代码

    dispatch(loadPosts());


    dispatch(loadPosts(lastId:lastId));



    export const loadPosts = createAsyncThunk(
      'post/loadPosts',
      async (data: any, thunkAPI) => {
        try {
          const response = await axios.get(`/post?lastId=${data?.lastId || 0}`);
          return response.data;
        } catch (error: any) {
          return thunkAPI.rejectWithValue(error.response.data);
        }
      },

最佳答案

RTK 文档:https://redux-toolkit.js.org/usage/usage-with-typescript#createasyncthunk

export const loadPosts = createAsyncThunk<
  YourReturnType,
  {
    lastId: number;
  } | void,
  { state: AppStore }
>('post/loadPosts', async (data, thunkAPI) => {
  try {
    const response = await axios.get(`/post?lastId=${data?.lastId || 0}`);
    return response.data;
  } catch (error) {
    return thunkAPI.rejectWithValue(error.response.data);
  }
});

关于javascript - 我应该如何设置 createAsyncThunk 中的参数和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72070647/

相关文章:

javascript - 在 png 图像上添加 div(或其他东西)

html - 如何使用服务器端渲染将我的 React 服务器与 Django 服务器结合起来?

javascript - 匹配符号的正则表达式以符号开头

javascript - 使用页面一段时间后未刷新 HTML 元素丢失

javascript - 单击按钮时在 React 组件上转换 CSS 背景

typescript - 在 TypeScript 中创建一个全局变量

angular - 使用异步 promise 与 jasmine 测试 Angular 2 服务

typescript - for-in语句

javascript - 如何使用 redux 中的操作和化简器按类别过滤数据?

javascript - 将子组件动态添加到 React 组件