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}
}
我希望当我按下它时,它会显示可触摸不透明度的ID。请帮帮我
答案 0 :(得分:1)
此render()
函数的组件需要有一个道具id
才能显示警告,但我认为您希望显示i
的每个值。由于i
永远不会超出此功能的范围(因为它是var
),如果您尝试alert(i)
,它会为每个按钮显示5
,但如果您在const
内使用while
来存储i
的当前值,则每个按钮都会显示正确的值:
while (i < 5) {
const temp = i;
rows.push(
<TouchableOpacity
id={i}
activeOpacity={0.9}
onPress={() => alert(temp)}
>
<View />
</TouchableOpacity>,
);
i++;
}
你不能像你想要的那样使用你正在分配的另一个道具中指定的道具。