有时当我运行loadPosts dispatch时,我不发送任何数据,有时我将lastId数据发送到同一loadPosts disaptch.

此时,我不知道如何在CreateAynchThunk中定义数据类型.

就像这个截图

enter image description here

上面写着

我如何修复我的代码?

这是我的密码

    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相关问答推荐

使用useup时,React-Redux无法找到Redux上下文值

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

如何从调整大小/zoom 的SVG路径定义新的d属性?""

如何从Intl.DateTimeFormat中仅获取时区名称?

如何避免页面第一次加载时由于CSS样式通过JavaScript更改而出现闪烁

Next.js服务器端组件请求,如何发送我的cookie token?

在VS代码上一次设置多个变量格式

按下单键和多值

当我点击一个按钮后按回车键时,如何阻止它再次被点击

如何在Java脚本中对数据进行签名,并在PHP中验证签名?

React:防止useContext重新渲染整个应用程序或在组件之间共享数据而不重新渲染所有组件

如何使用[ModelJSON,ArrayBuffer]调用tf.loadGraphModelSync

ComponentWillReceiveProps仍在React 18.2.0中工作

谷歌饼图3D切片

JSX/React -如何在组件props 中循环遍历数组

如果查询为空,则MongoDB将所有文档与$in匹配

如何从Reaction-Redux中来自API调用的数据中筛选值

JavaScript -如何跳过某个字符(S)来打乱字符串中的字符

与find()方法一起使用时,Mongoose中的$or运算符没有提供所有必需的数据

如何将缓冲区数组转换回音频