问题描述
我有一个屏幕来显示新闻文章。在新闻中可以参考其他文章。单击参考资料后,我会转到显示新文章的另一个新闻详细信息屏幕。 如果只有一个参考另一篇文章,它工作正常,甚至回去。 但如果我有更多参考资料,我总是会转到最后一篇新闻文章,而不是我点击的特定新闻文章。引用是文章的“id”,通过一个 navigation.push 的参数传递,在一个 . 为什么总是使用最后一个新闻 ID?我把id(infNum)放在了区域,它引用了每篇文章的正确id,但似乎参数idNews总是最后一个infNum。 这是我的代码: '''
{news.results.texte.map((content,index) => {
if(content.substring(0,6) === '_Info_') {
{
finNum = content.indexOf("_T_");
finLien = content.indexOf("_/Info_");
infNum = content.substring(6,finNum);
txtLien = content.substring(finNum+3,finLien)
}
//console.log(finNum," ",finLien,infNum,txtLien)
return (
<TouchableOpacity
style={styles.txtLien}
key={infNum}
onPress={() => {
navigation.push("NewsDetail",{idNews:infNum})}
}
>
<Text>{txtLien}-{infNum}</Text>
</TouchableOpacity>
)
} else {
return (
<Text style={styles.description_text} key={index}>{content}</Text>
)
}
'''
解决方法
我发现了问题。基本的Javascript。变量 'infNum' 因为它没有用 'var' 关键字声明,所以被认为是全局的,因此采用给定的最后一个值。我只是放了 'var infNum = content.substring ....' 并且效果很好