2017-07-25 16 views
0

私はおそらく些細なことを聞​​いていますが、しばらく私を悩ませています。親コンポーネントにパラメータを指定してコールバックを渡す

我々はいくつかのボタンをレンダリング子コンポーネントを持っているとしましょう:私はそれらのいずれかのボタンを押したときに

const Picker = ({ data, label, visible, cancelCallback, onPressCallback }) => { 

    function renderRow (data) { 
    return data.map((el) => { 
     return (
     <TouchableOpacity 
      style={listViewItemContainer} 
      key={el.label} 
      onPress={} 
     > 
      <Text style={listViewItem}> { el.label } </Text> 
     </TouchableOpacity> 
    ); 
    }); 
    } 

    return (
    <Modal 
     visible={visible} 
     animationType="fade" 
     onRequestClose={() => {}} 
     transparent={true} 
    > 


      <View style={listViewContainerStyle}> 
      { renderRow(data) } 
      </View> 


    </Modal> 
); 
}; 

は今、私は親にコールバックを作りたいが、私はラベルのようないくつかのパラメータを渡したいです押された要素の次のようなものがあります。

<TouchableOpacity 
    style={listViewItemContainer} 
    key={el.label} 
    onPress={onPressCallback(el.label)} // onPressCallback is a Prop passed to the child 
> 
    <Text style={listViewItem}> { el.label } </Text> 
</TouchableOpacity> 

そして、親コンポーネントのロジックを処理します。 どうすればいいですか?

答えて

2

このようにします。

onPress={() => onPressCallback(el.label)} 
+0

ありがとうございます。私は初心者で、あなたは私をたくさん助けました。 –

関連する問題