繁体   English   中英

打字稿中的对象参数类型定义

[英]object parameters type definition in typescript

我正在传递一个组件一些道具。 其中之一是不返回任何内容的函数。 我必须传递两个对象作为由两个布尔值组成的参数。 如何指定这些参数是布尔值?

const MyComponent: React.FC<{
  onChange: ({ isFoo1, isFoo2 }) => void;
}> = ({ onChange }) => {
    const [isFoo1, setIsFoo1] = useState<boolean>(false);
    const [isFoo2, setIsFoo2] = useState<boolean>(false);
  
    /*
    * stuff...
    */

    useEffect({
      onChange({isFoo1, isFoo2})// <----- Type error
    },[isFoo1, isFoo2])
}

typerror 的代码为 2345,它出现是因为在onChange定义中我没有指定两个参数的类型。我该怎么做?

不要在onChange函数的类型中使用解构。 相反,只需使用普通对象参数并像输入对象一样键入它:

onChange: (obj: {isFoo1: boolean, isFoo2: boolean}) => void;

游乐场链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM