代码之家  ›  专栏  ›  技术社区  ›  doorman

属性…不存在于类型“IntrinsicAttributes&…”

  •  -1
  • doorman  · 技术社区  · 5 年前

    我把.js文件改为typescript文件.tsx。我在文件中定义了以下函数:

    function MyCard(param1: ObjectDto, toggleFunction: any) {}
    

    <MyCard param1={param1Value} toggleFunction={myToggleFunction} />
    

    但我得到了以下错误:

    不可分配给类型“IntrinsicAttributes&ObjectDto”。财产 “param1”在类型“IntrinsicAttributes&ObjectDto”上不存在。

    我怎样才能为Typescript修复这个问题?

    2 回复  |  直到 5 年前
        1
  •  20
  •   Sulthan    5 年前

    组件只有一个参数,即 props

    function MyCard(props: { param1: ObjectDto, toggleFunction: any }) {}
    

    类型系统正在尝试将属性与函数的第一个参数匹配,该参数的类型为 ObjectDto . 这就是为什么你会出错

    不可分配给类型“IntrinsicAttributes&ObjectDto”

        2
  •  3
  •   Sulthan    5 年前

    这样地:

    interface MyCodeParams {
        param1: ObjectDto
        toggleFunction: (param: any) => void
    }
    

    toggleFunction: (param?: any) => void