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

Pra*_*ena 3 reactjs react-native

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

watchID: ?number = null;

我知道这是一种TypeScript语法,但我看不到TypeScript被用于React Native.

有人可以解释一下吗?

Rob*_*ise 6

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

这个特定的语法是说如果watchId传递,它将是一个number类型,但是?表明它也是一个maybe类型,这意味着它可能不会被传递,在这种情况下= null将发生(这不是与流相关的),这是如何在JS中指定默认值.