React native:watchID:?number = null这是什么语法?

时间:2016-11-30 07:32:35

标签: reactjs react-native

我正在阅读本机文档,我遇到了这行代码

watchID: ?number = null;

我知道这有TypeScript种语法,但我无法在TypeScript中看到React Native

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:6)

这是Facebook flow语法。这是一种在常规Javascript中引入打字的方法。流可以静态解析源文件以检查类型问题。然后,当您使用Babel编译代码时,它将使用这些Flow注释,以便它不会导致错误。您应该在项目的根目录中看到一个.flowconfig文件 - 这是您的项目正在使用流程的绝对赠品。

此特定语法表示如果传递watchId,则它将是number类型,但?表示这也是maybe类型,这意味着它可能不会被传递,在这种情况下= null将发生(这与流不相关),这就是你在JS中分配默认值的方式。