【问题标题】:What does this "|" symbol stand for in the React Documentation?这个“|”是什么意思符号在 React 文档中代表什么?
【发布时间】:2021-11-15 16:48:59
【问题描述】:

我正在尝试理解 React 源代码,代码库中的许多文件将我引导至 shared/ReactTypes.js 文件。

在这个文件中,有一个符号“|”

根据我自己的研究,我发现这是按位 OR (|) 运算符,解释此运算符的 MDN 文档指出:

在每个操作数的对应位为 1 的每个位位置返回 1。

这对我来说没有任何意义,所以我继续在网络上做一些研究,包括谷歌和 Stackoverflow,我在 React 的源代码中找不到任何与它的功能相关的东西..

export type ReactNode =
  | React$Element<any>
  | ReactPortal
  | ReactText
  | ReactFragment
  | ReactProvider<any>
  | ReactConsumer<any>;

谁能给我解释一下,或者至少给我一些资源来帮助我了解这个 React 源代码中发生了什么。

另外,如果您知道任何重现此代码的方法,请告诉我。

提前致谢!!

【问题讨论】:

    标签: reactjs bitwise-or


    【解决方案1】:

    That file 是一个流类型文件,而不是原生 JavaScript,因此 MDN 文档在这个意义上是不成立的。 (事实上​​,它无论如何也不能被解析为普通的 JavaScript;export type 不是 JavaScript 中的东西。)

    Flow denotes an union type 中的| 运算符。

    TypeScript typing file for React 有一个等效的模式,如果不完全相同的话。)

    【讨论】:

    • 哦,好吧。所以这个流程代码确保 ReactNode 是等号后列出的六种类型之一?
    • 差不多,是的。
    • 非常感谢!似乎整个文件都严格用于描述特定的 React 对象应该是哪些类型。很有趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2015-02-18
    • 2017-02-04
    • 2010-12-30
    相关资源
    最近更新 更多