我试图在返回对象的子组件中键入一个函数,但得到错误Expected 0 arguments,but got 1in the handler function。即使我在代码的顶部输入从props接收的函数,期望它返回一个必需的对象。
https://codesandbox.io/s/test-login-page-tasks-typescript-24-04-eg91s5?file=/src/components/TaskComponent.tsx
import React, { useState, FC } from "react";
type Tasks = {
title: string;
author: string;
description: string;
status: string;
priority: string;
};
type Props = {
Tasks: Tasks[];
changeTask: () => {};
};
const TaskComponent: FC<Props> = ({ Tasks, changeTask }) => {
const task = Tasks.find((task) => String(task.id) === id);
const handleSaveTask = (event) => {
event.preventDefault();
changeTask({
...task,
status,
priority
});
};
return (
<form onSubmit={handleSaveTask}>
...
</form>
)
2条答案
按热度按时间2izufjch1#
正如@Niklas所建议的,改变
changeTask
的类型如何?示例:
另外,您正在使用名称
Tasks
作为类型和变量。我建议改变其中任何一个。kxeu7u2r2#