打字稿-React.FC是任意的并且不检查道具

时间:2020-08-26 06:30:59

标签: reactjs typescript react-props

我已经使用reactjs创建了一个npx create-react-app myapp --template typescript申请

我创建的组件

import React from 'react';

interface IPerson {
   name: string;
   age: number;
}

const Person:React.FC<IPerson> = (props:IPerson) => {
    const {name, age} = props;

    return <div>{name} {age}</div>;
}

即使我没有通过所需的道具,打字稿也不会抛出任何错误。即使我运行该应用程序,也不会收到任何警告或错误。

 <Person name='xyz' />

应该在上一行引发错误。但这很好。

我试图找到原因,但没有找到可以解决此问题的方法。我所发现的是,当我将鼠标悬停在一个React.FC上时,它显示的类型为any,而不是类型为IPersonenter image description here

如果有人可以给它一些照明,将不胜感激。

1 个答案:

答案 0 :(得分:0)

当我再次运行npm install时,我发现终端中出现以下错误:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error

enter image description here

我做了以下步骤来解决此问题:

xcode-select --print-path // this will give path of xcode-select install. use it to remove it;

sudo rm -r -f /Library/Developer/CommandLineTools

xcode-select --install // install it again

在我执行npm install后,执行上述步骤后,如果缺少所需的道具,VSCode开始抛出错误。