React Native如何调用onPress事件?

时间:2016-06-05 15:33:15

标签: javascript reactjs react-native

你好,我正在使用React Native处理我的初学者项目,现在我无法处理onPress事件。

渲染

_renderRow(feed) {
  return (
    <TouchableHighlight onPress={() => this._pressRow()}>
      <View style={styles.container}>
        <Image
          source={{uri: feed.thumbnail}}
          style={styles.thumbnail}/>
        <View style={styles.rightContainer}>
          <Text style={styles.title}>{feed.title}</Text>
        </View>
      </View>
    </TouchableHighlight>
  );
}

onPress函数

_pressRow() {
  console.log('list item pressed')  
}

列表视图

<ListView
  dataSource={this.state.dataSource}
  renderRow={this._renderRow}
  style={styles.listView}/>

这是我得到的错误。

  

undefined不是一个函数(评估_this3._pressRow())

修改

感谢@Cherniv。我忘了将this绑定到renderRow函数,改变我的代码并按预期工作:

<ListView
    dataSource={this.state.dataSource}
    renderRow={this._renderRow.bind(this)}
    style={styles.listView}/>

1 个答案:

答案 0 :(得分:0)

是不是因为你忘记了&#34; _&#34;在方法声明中的pressRow之前?