我需要调用一个函数并将参数ID传递给它:
<TouchableOpacity
onPress={() => this.addInstaPost(myInstaPost[i].postId)}
>
<Text style={styles.reply}>
<Icon family="Entypo" size={19} name="reply-all" /> Reply
</Text>
</TouchableOpacity>
此返回错误“未定义不是对象(正在评估'myInstaPost [i] .postId'
如果我删除参数并在文本“重播”后显示以进行调试...。
<TouchableOpacity
onPress={() => this.addInstaPost()}
>
<Text style={styles.reply}>
<Icon family="Entypo" size={19} name="reply-all" /> Reply {myInstaPost[i].postId}
</Text>
</TouchableOpacity>;
显示完全正常。
知道我在做什么错吗?
这与循环和onPress()有关...
如果我声明变量IE:var currId = myInstaPost [i] .postId;
当我这样做时:
onPress={() => this.addInstaPost(currId)}
然后在addInstaPost内部我发出警报参数,我总是从循环中的第一个元素获取参数...。
但是当我在文本中的某个地方显示它时...用于调试,我得到了正确的信息。
尝试在.map
这种情况下使用该方法
{myInstaPost.map((item, index) => (
<TouchableOpacity onPress={() => this.addInstaPost(item?.postId)} key={index}>
<Text style={styles.reply}>
<Icon family="Entypo" size={19} name="reply-all" /> Reply
</Text>
</TouchableOpacity>
))}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句