我应该如何在 createAsyncThunk 中设置参数和参数?

How should I set the arguments and parameters in createAsyncThunk?

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

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

喜欢这个截图

它说 预期有 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);
        }
      },

使 data 参数可选:

async (data: any?, thunkAPI) => {

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);
  }
});