react-native onPress()在循环组件呈现时自动切换

时间:2016-12-12 20:08:37

标签: reactjs react-native native-base

我循环使用原生基础 <Card dataArray={data} />组件,使用按钮渲染一些组件。它工作正常(按预期列出了所有组件),但我很快将一个onPress事件添加到Button并得到一个自动onPress错误,它运行得很奇怪(点击因此只运行有界函数),而组件假设使用这些按钮渲染很多。

&#13;
&#13;
//- Inside constructor I bind testLogs
this.testLogs = this.testLogs(this);

//- Outside render...
testLogs(value) {
  console.log(value);
}

//- Inside return of render()

<Card dataArray={devices}
  renderRow={(theme) => 
    <CardItem>
      {(theme.picture) ? 
        <Thumbnail size={100} source={theme.picture} />:
        <Thumbnail size={100} source={defaultImage} />
      }
      <Text style={{fontSize: 16}}> {theme.name} </Text>
      <Button primary style={{marginRight: 10}}> Command </Button>
      <Button success onPress={this.testLogs} > Edit </Button>
    </CardItem>
  }>
</Card>
&#13;
&#13;
&#13;

我还应该说当渲染后点击它们时,所有渲染的组件都不会运行onPress={this.testLogs}绑定函数。

什么可能触发这个?或者循环渲染不是最佳方法吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

使用onPress = {this.testlogs.bind(this)}