这在React代码库中有什么作用?

时间:2017-06-29 11:27:04

标签: javascript reactjs

我在React代码库中看到以下内容:

export type TypeOfWork = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;

它在做什么?

来源:https://github.com/facebook/react/blob/master/src/shared/ReactTypeOfWork.js

1 个答案:

答案 0 :(得分:1)

这是流程或打字稿语法。

它定义了一个自定义类型,它只能是0到10之间的数字。

export type TypeOfWork = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
let x: TypeOfWork = 0;

x = 12; // <-- compiler would throw an error here

在这种情况下,枚举可能更好(仅适用于打字稿)

https://www.typescriptlang.org/docs/handbook/enums.html

export const enum TypeOfWork {
  IndeterminateComponent = 0, // Before we know whether it is functional or class
  FunctionalComponent = 1,
  ClassComponent = 2,
  HostRoot = 3, // Root of a host tree. Could be nested inside another node.
  HostPortal = 4, // A subtree. Could be an entry point to a different renderer.
  HostComponent = 5,
  HostText = 6,
  CoroutineComponent = 7,
  CoroutineHandlerPhase = 8,
  YieldComponent = 9,
  Fragment = 10
};

正如您在compiled view

中看到的那样,哪种方式会更好
相关问题