2016-12-12 4 views
0

ネイティブベース<Card dataArray={data} />コンポーネントをボタンでいくつかレンダリングしています。私はすぐにボタンにonPressイベントを追加し、自動的にonPressのバグを得ました(それは、クリック数に制限された関数を実行します)。それらのボタンでレンダリングすることは多くあります。react-native 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}バインド機能を実行していないと言う必要があります。

これを引き起こす原因は何ですか?または、ループレンダリングはこれに最善のアプローチではありませんか?

ありがとうございます。

答えて

2

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

+1

これはうまくいった! 私はたくさんの出力を得ていますが、うまくいきます!おかげさまで – ArchNoob

関連する問題