将带有参数的回调传递给父组件

时间:2017-07-25 16:24:43

标签: reactjs react-native

我在问一些可能微不足道的事情,但这一直困扰着我。

假设我们有一个CHILD组件可以呈现一些按钮:

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>

然后处理父组件中的逻辑。 我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

喜欢这个。

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