javascript - 预期有 1 个参数,但得到 0 个参数。TS2554 - 可选对象属性但不是对象?

标签 javascript reactjs typescript

我相信所有的对象属性都是可选的,所以我没有完全理解错误。 因为我已经将属性设为可选,而不是对象本身?

错误

Expected 1 arguments, but got 0.  TS2554

    71 |   // Get the claims on the initial page load
    72 |   useEffect(() => {
  > 73 |     fetchClaimDetails();
       |     ^
    74 |   }, []);
    75 | 
    76 |   return (

组件

 interface fetchClaimDetailsQueryParams {
  status?: string | null;
  clientClaimId?: string | null;
}

const fetchClaimDetails = async ({
  clientClaimId = null,
  status = null
}: fetchClaimDetailsQueryParams) => {

......

useEffect(() => {
  fetchClaimDetails();
}, []);

最佳答案

是的。使对象成为可选对象不会修复错误,因为对象正在参数列表中被解构。你需要这样的东西:

const fetchClaimDetails = async (paramsObj: fetchClaimDetailsQueryParams = {
  clientClaimId: null,
  status: null
}) => {
  const {
    clientClaimId,
    status
  } = paramsObject;
}

这应该使参数可选,同时提供有效的默认值。

关于javascript - 预期有 1 个参数,但得到 0 个参数。TS2554 - 可选对象属性但不是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69042339/

相关文章:

javascript - 如何使用javascript限制文本框中的字符数和行数?

javascript - 组件未更新(react-redux)

typescript - 如何从 typescript 中的类型中排除 getter only 属性

TypeScript 如何解决 - 'require' 调用可能会转换为导入

javascript - 无法从 IOS 中的 ionic 1 应用程序页面复制 <p> 标记内的文本

javascript - Material 日历如何选择最大和最小日期?

javascript - DataTables:初始化后如何设置配置?

reactjs - 如何使用 Ant 设计处理 Checkbox 组功能

reactjs - 我们如何在最新的 react-hooks-form 中的 onSubmit 方法中获取文本字段值

typescript - 联合类型和 "currying"/partial 应用程序样式 API