2015-09-15 12 views
6

私はビューのリストを持って、TouchableHighlightで包まれた各ビューで、送信者を取得する方法を、私はクローム開発ツールでそれをデバッグする各触れることができるがTouchableHighlightのたonPress

.... 
    <TouchableHighlight onPress={this._preformTouchItem}> 
    <View style={styles.item}> 
     <Text>{displayContent}</Text> 
    </View> 
    </TouchableHighlight> 
    .... 

_preformTouchItem(event) { 
} 

ためたonPressハンドラをバインドし、「イベント」 どのビューがクリックされたかを知る方法

+0

どのようなビューがクリックされたのかを知る必要があるのはなぜですか?完全なコードを共有できますか? Reactでは、通常はビューとやり取りするのではなく、 'setState'を呼び出してReactにUIを再描画させます。 –

答えて

5

実際には直接ビューと対話しませんが、setStateを呼び出し、ReactにUIを再描画させてください。あなたが本当にrefsと呼ばれる概念があります、基本的なビューにアクセスする必要がある場合

getInitialState: function() { 
    var itemToggleStates = [false, false, false]; 
    return itemToggleStates; 
}, 

render: function() { 
    for (i = 0; i < itemToggleStates.length; i++) { 
    ... 
    var currentIndex = i; 
    var itemText = this.state.itemToggleStates[currentIndex] ? 'yes' : 'no'; 
    <TouchableHighlight onPress={() => this._handleItemTouch(currentIndex)}> 
     <Text>{itemText}</Text> 
    </TouchableHighlight> 
    ... 
    } 
    ... 
}, 

_handleItemTouch: function(index) { 
    var itemToggleStates = this.state.itemToggleStates; 
    itemToggleStates[index] = !itemToggleStates[index]; 
    setState(itemToggleStates); 
} 

まれに:たとえば、アイテムのインデックスを渡します。

関連する問題