首页 > 解决方案 > 为什么这个打字稿反应组件中预期道具的对象结构中有分号?

问题描述

查看我看到的这个示例代码:

import * as React from 'react';

const Count: React.FunctionComponent<{
  count: number; // this is the line that confuses me
}> = (props) => {
  return <h1>{props.count}</h1>;
};

export default Count;

该对象结构定义了预期的道具,但是从什么时候在对象中的 kv 对之后使用分号在语法上是正确的?这一定是我不熟悉的 Typescript 语法,但我不确定它叫什么。

标签: reactjstypescript

解决方案


它相当于定义一个接口,只是没有名称,因此遵循此处显示的语法:

interface CountInterface {
    count: number;
}

它实际上不是键值对,它更像是键类型对。由于打字稿需要工作的方式,这意味着它是一组语句(以分号结尾),虽然它看起来像一个对象文字,但它不是。

所以,是的,它是一个“打字稿”,它允许进行类型检查。


推荐阅读