0

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

//- 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>

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

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

谢谢你。

4

1 回答 1

2

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

于 2016-12-12T20:20:43.300 回答