Answers:
它来自Flow的类型定义,这意味着常量App是函数类型,并且它返回ReactNode。
ReactNode是以下类型之一: 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
(将其视为作用域/命名空间)
ReactNode
,没有$
React$Node
。您能帮我澄清一下吗?
React$Node
(美元符号...)的信息,我的意思是,在Flow文档中没有任何引用
这也是将App组件声明为函数的一种类型,但是您可以将其更改为
import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View } from 'react-native';
export default class App extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.instructions}>Hello World!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF'
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5
}
});
不要忘了在最后一行删除语句Export default App。