Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onPress没有';在react native中检测不可触摸不透明的道具_Javascript_Reactjs_Loops_React Native - Fatal编程技术网

Javascript onPress没有';在react native中检测不可触摸不透明的道具

Javascript onPress没有';在react native中检测不可触摸不透明的道具,javascript,reactjs,loops,react-native,Javascript,Reactjs,Loops,React Native,当我按下onPress时,它不会显示我的可触摸不透明度组件的id。他只是给我看不清楚 render() { var rows = []; var i = 0; while(i<5){ rows.push(<TouchableOpacity id={i} activeOpacity={0.9} onPress={() => alert(this.props.id)}>

当我按下onPress时,它不会显示我的可触摸不透明度组件的id。他只是给我看不清楚

    render() {
            var rows = [];
            var i = 0;
            while(i<5){
              rows.push(<TouchableOpacity id={i} activeOpacity={0.9} onPress={() => alert(this.props.id)}>
                  <View>
    </View>
                </TouchableOpacity>);
              i++;
            }
        return {rows}
}
render(){
var行=[];
var i=0;
而
);
i++;
}
返回{rows}
}

我想当我按下它时,它会显示可触摸不透明度的id。请帮助我

用于此
render()
函数的组件需要有一个prop
id
才能显示警报,但我认为您需要显示
I
的每个值。由于
i
从未超出此功能的范围(因为它是
var
),如果您尝试只执行
alert(i)
,它将为每个按钮显示
5
,但是如果您在
中使用
const
来存储
i
的当前值,则每个按钮将具有正确的值:

while (i < 5) {
  const temp = i;

  rows.push(
    <TouchableOpacity
      id={i}
      activeOpacity={0.9}
      onPress={() => alert(temp)}
    >
      <View />
    </TouchableOpacity>,
  );

  i++;
}
while(i<5){
常数温度=i;
推(
警报(临时)}
>
,
);
i++;
}

你不能使用你正在分配的另一个道具中的道具,就像你试图使用的一样。

你是我的英雄