在上react-native init ProjectName,主应用程序文件App.js通过以下方式包含组件的声明:
react-native init ProjectName
App.js
const App: () => React$Node = () => {...}
该指令是什么意思?
我的意思是,我习惯于将组件定义为const App = () => {...},所以我尤其不理解之间的表达: () => React$Node。
const App = () => {...}
: () => React$Node
它来自Flow的类型定义,这意味着常量App是函数类型,并且它返回ReactNode。
ReactNode是以下类型之一: ReactChild | ReactFragment | ReactPortal | boolean | null | undefined
ReactChild | ReactFragment | ReactPortal | boolean | null | undefined
这意味着功能App可以返回任何有效的JSX(以本机方式从View,Text,.etc中进行响应),ReactFragment,React.Portal,布尔值,null,未定义
如果您对美元符号感到困惑,请访问以下链接以获取解释。 https://www.saltycrane.com/flow-type-cheat- sheet/latest/
名称分别为$的“专用”或“魔术”类型有单独的部分。请参阅此处的注释,并在此处进行评论。更新:现在在这里记录了其中一些类型。
为了简单起见,您可以将其视为Node源于React(将其视为作用域/命名空间)
Node
React