小编And*_*oot的帖子

如何从 React Native 可触摸事件 currentTarget 读取 props?

我有以下 React Native 代码,当用户点击图像时运行 press() 方法。我想从事件对象获取 itemIndex 属性。我在 press 方法中设置了一个断点,并向 Watch 添加了一些表达式。从手表中,我确定事件的目标(事件起源)是正确的图像。itemIndex 属性也可用。正在处理的元素是 currentTarget,Watch 看到它是一个“RCTView”,而我期待的是 TouchableOpacity,所以也许 TouchableOpacity 下面是一个 View?currentTarget itemIndex 属性未定义,为什么?如何从 currentTarget 获取道具?

我想这样做以避免为每个呈现的项目创建附加方法。

仅供参考, ref={(c) => this._input = c}不会工作,因为它正在循环运行。 onPress={(e) => this.press(e, i)}创建一个我试图避免的新函数。

手表

  1. target._currentElement.props.itemIndex: 2
  2. target._currentElement.type.displayName:“RCTImageView”
  3. currentTarget._currentElement.props.itemIndex:未定义
  4. currentTarget._currentElement.type.displayName: "RCTView"

    press: function(event){
        var currentTarget = ReactNativeComponentTree.getInstanceFromNode(event.currentTarget);
        var target = ReactNativeComponentTree.getInstanceFromNode(event.target);
        var currentTargetIndex = currentTarget._currentElement.props.itemIndex;
        var targetIndex = target._currentElement.props.itemIndex;
        var url = this.state.data.items[currentTargetIndex].url;
        Linking.openURL(url).catch(err => console.error('An error occurred', err));
    },
    
    render: function() {
    return (
        <ScrollView horizontal={true} showsHorizontalScrollIndicator={false} …
    Run Code Online (Sandbox Code Playgroud)

react-native

8
推荐指数
1
解决办法
8897
查看次数

标签 统计

react-native ×1