在本地响应中将触摸事件传递给视图的父级。

时间:2018-07-11 10:22:48

标签: react-native touch-event

我碰触了<view>,这将打开可折叠的视图。我使用了它的react-native-collapse-view(https://www.npmjs.com/package/react-native-collapse-view),在<text>顶部有<view>,覆盖了全部内容。我正在onPress元素的<text>事件中设置一些条件。

现在我想要的是,如果我触摸<text(显然,由于文本完全覆盖了视图,因此我无法触摸视图)以及底层onPress的{​​{1}}事件还应触摸{1}},以便打开可折叠视图。

简而言之,我想将touch事件传递给父视图,以一次完成所有工作。我搜索并发现了一些与<text><view>相关的内容,但是由于我是新手,所以我无法完全掌握。

1 个答案:

答案 0 :(得分:0)

简而言之,您需要将传递函数传递给子代以处理事件

import React from "react";

class ChildComponent extends React.PureComponent {
  render() {
    const {handleChildPress} = this.props;
    return <Text onPress={handleChildPress}/>;
  }
}

class ContainerComponent extends React.PureComponent {

  // you need pass this func to children
  // =()=> means  bind it
  handleChildPress=()=>{
     console.log('child pressed')
  }

  render() {
    return <ChildComponent handleChildPress={this.handleChildPress}/>;
  }
}



export default ContainerComponent