相关疑难解决方法(0)

580
推荐指数
10
解决办法
34万
查看次数

如何从 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
查看次数

如何在Click事件上获取React Native中的元素属性

如何在React Native中不使用'this'关键字的情况下访问元素的属性?我有一个与父类本身绑定为“ this”的函数,但我想访问被单击元素的属性。这是代码-

import {Circle} from 'react-native-svg';
export default App extends Component {
  constructor(props) {
  super(props);
  this.state = {activeX: null}
 }

 handleTouch(event) {
   const x = event.target.cx; //How to access "cx" property here?
   this.setState({ activeX: x });
 }

 render() {
   return (
     <Circle cx='10' cy='10' r='5' onPress={this.handleTouch.bind(this)}/>
     <Circle cx='20' cy='20' r='5' onPress={this.handleTouch.bind(this)}/>
   );
 }
}
Run Code Online (Sandbox Code Playgroud)

react-native

5
推荐指数
1
解决办法
6373
查看次数

标签 统计

react-native ×2

bind ×1

function ×1

javascript ×1