这是我的Redux方法:

export const deleteDirectories = createAsyncThunk(
  "directories/deleteDirectories",
  async (id, thunkAPI) => {
    try {
      const response = await axios.delete(`${url}directories/${id}`);
      return response.data;
    } catch (error) {
      return thunkAPI.rejectWithValue("Something went wrong...");
    }
  }
);

当我try 在Component中分派它时,我收到了这个错误:

Expected 0 arguments, but got 1.
    47 |             variant="primary"
    48 |             onClick={() => {
  > 49 |               dispatch(deleteDirectories(selectedFolderId));
       |                                          ^^^^^^^^^^^^^^^^
    50 |               handleClose();
    51 |             }}
    52 |           >

你能帮我弄一下这个吗?

推荐答案

try 为id参数声明TS类型.

import { createAsyncThunk } from '@reduxjs/toolkit';
import React from 'react';
import { useDispatch } from 'react-redux';

const deleteDirectories = createAsyncThunk('directories/deleteDirectories', async (id: number) => {
  return { data: { id } };
});

const App = () => {
  const dispatch = useDispatch();
  dispatch(deleteDirectories(1));
  return <div>app</div>;
};

Playground Link

程序包版本:

"react-redux": "^7.2.4",
"@reduxjs/toolkit": "^1.9.5"

Typescript相关问答推荐

React Hook中基于动态收件箱定义和断言回报类型

使用FormArray在Angular中添加排序

在将对象从一个对象转换成另一个对象时,可以缩小对象的键吗?

是否可以根据嵌套属性来更改接口中属性的类型?

当使用`type B = A`时,B的类型显示为A.为什么当`type B = A时显示为`any `|用A代替?

`((PrevState:NULL)=>;NULL)|null`是什么意思?

如何正确地对类型脚本泛型进行限制

如何编写一个类型脚本函数,将一个对象映射(转换)为另一个对象并推断返回类型?

如何在LucideAngular 添加自定义图标以及如何使用它们

使用Dockerfile运行Vite React应用程序时访问env变量

在Cypress中,是否可以在不标识错误的情况下对元素调用.Click()方法?

类型推断对React.ForwardRef()的引用参数无效

TypeScrip-根据一个参数值验证另一个参数值

我可以将一个类型数组映射到TypeScrip中的另一个类型数组吗?

在ts中获取级联子K类型?

Typescript 是否可以区分泛型参数 void?

使用本机 Promise 覆盖 WinJS Promise 作为 Chrome 扩展内容脚本?

为什么我的 Typescript 函数中缺少 void 隐式返回类型?

在 next.js 13.4 中为react-email-editor使用forwardRef和next/dynamic的正确方法

在对象类型的类型别名中,属性是用分号 (;) 还是逗号 (,) 分隔的?