为什么在React-native-maps的标记文档中将onPress列为事件?

时间:2018-12-08 03:00:39

标签: android reactjs react-native

我是一个刚开始学习母语的人,给我的印象是,所传递的一切都是道具。但是,当我查看Marker的文档时,onPress列在“事件”下,而在props下。按钮的文档清楚地在道具标题下列出了onPress。

1 个答案:

答案 0 :(得分:0)

根据文档:

  

大多数组件在创建时都可以使用不同的参数进行自定义。这些创建参数称为道具。基本上,组件尖括号之间的任何内容都可以视为道具。

如果您注意到Button文档,onPress是一个道具,但这也是一个事件!

道具

  • onPress
  • accessibilityLabel
  • 颜色
  • 已禁用
  • testID
  • 具有TVPreferredFocus

在下面的示例中,onPress,标题,颜色和accessibilityLabel都是道具。

<Button
    onPress={onPressLearnMore}
    title="Learn More"
    color="#841584"
    accessibilityLabel="Learn more about this purple button"
/>

将事件制作为道具的好处是,您可以将事件从主组件或父组件委派或传递给子组件。

https://facebook.github.io/react-native/docs/button

您可以通过将参数传递给函数的方式来思考道具。在JavaScript中,您可以将函数作为参数传递,因此能够传递事件处理程序(函数)很有意义。