与打字稿反应

时间:2021-06-25 14:34:31

标签: reactjs typescript

我在 React 中使用 typescript。每当我将道具传递给函数或将道具解构为 {text} 时,例如我收到一条错误消息,指出“绑定元素‘文本’隐式具有‘任何’类型”。虽然我可以使用 const Example = ({text}:any) => { return () }const Example = ({text}:{text:string}) => { return () } 绕过这个 这对我来说效率不高。我想问你是否可以教我什么好方法来克服这个问题,而无需道具参数本身,而是它的解构版本。

注意:我发现我无法很好地解释我的问题。我使用 Typescript 是因为我想使用它的类型检查功能。给每个道具“任何”类型都可以,但是当我尝试为每个道具赋予自己的类型时,例如 const Example = ({Text, Number, RandomCrap,}: {Text: string; Number: number; RandomCrap: any;}) => {return ();} 它看起来像这样。这是唯一的方法吗?

Answer: 不是像上面那样塞满我的代码,我可以在其他地方定义类型,比如 type PropsType = {Text: string; Number: number; RandomCrap: any;}; 并在我的函数中使用它,例如 const Header = ({ Text, Number, RandomCrap }: PropsType) => {return ()} 谢谢大家:)

1 个答案:

答案 0 :(得分:0)

您可以为整个 props 对象定义类型:

type PropsType = {
    text: string
} 
const Example = ({text}: PropsType) => { return () }

// or
const Example1: React.FunctionComponent<PropsType> = ({text}) => { return () }