在javascript类中使用`< {}>`有什么用?

时间:2018-01-22 11:20:08

标签: javascript reactjs

之间的区别是什么:

export default class HelloWorldApp extends Component {

VS

export default class HelloWorldApp extends Component<{}> {

1 个答案:

答案 0 :(得分:5)

它是javascript解析器/编译器的类型语法。 {}大括号表示一个空对象,其中包含可以分配给它的属性。

https://medium.com/flow-type/even-better-support-for-react-in-flow-25b0a3485627

例如Animal extends Component<{name: string, age: number}>表示此类Animal组件接受name属性作为字符串,age作为数字接受。您可以按预期使用它:

<Animal name="Toby" age={3} />

默认情况下,此类语法无效。正如JSX的情况一样,这也不是普通的javascript。由于您正在使用的响应环境,您的代码正在运行。

javascript中的类型系统用于开发/发布周期。如果您忽略类型和警告但其余的javascript代码有效,您将不会注意到。详细了解flowtypescript了解详情。