javascript - onClick() 不会触发 React-Native App 中的函数

标签 javascript reactjs react-native

在我的 react-native 移动应用程序中,我在 row.js 中编写了一个名为 Row 的组件,其中包含一个 TouchableOpacityonClick()事件处理程序。但是,当单击该组件时,该功能不会运行。

Row 组件显示有关特定电影的一些文本,单击时应运行 handlePress() 函数:

const Row = props => (
  <TouchableOpacity onClick={() => props.handlePress(props.imdbID)} style={styles.row}>
    <Text>Some text</Text>
  </TouchableOpacity>
)

在单独的 app.js 文件中,handlepress 函数已被编写并作为 prop 传递给 Row 组件。 imdbID 变量也从电影对象传递给组件:
handlePress = imdbID => {
  // do something with imdbID
}
<Row handlePress={this.handlePress} {...film} />

请有人告诉我我做错了什么以及为什么该功能没有运行。

最佳答案

如果你看看 docs ,它没有 onClick .

您应该使用 onPress .

const Row = props => (
  //          using onPress
  <TouchableOpacity onPress={() => props.handlePress(props.imdbID)} style={styles.row}>
    <Text>Some text</Text>
  </TouchableOpacity>
)

关于javascript - onClick() 不会触发 React-Native App 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59456971/

相关文章:

javascript - 如何比较数组中的日期以找到最早的日期?

javascript - 在其版本 1.x 中使用 Axios paramsSerializer 的正确方法

javascript - 无法获取输入选择表单的初始值

javascript - 如何在 React Big Calendar 中获取第一个和最后一个可见日期?

javascript - 对象字面量未定义

javascript - 如何使用 arcGis JavaScript 获取地址的经纬度

javascript - react native 'unexpected url'错误

javascript - 获取货币符号的特殊文本字符的 HTML 实体代码

javascript - REST API(React.js)中两个json对象的付款历史

amazon-web-services - 从 React-Native 调用 AWS Lambda 函数