Reactjs React native navigation.push未从参数更新UI
我使用的是react导航5 导航是这样的Reactjs React native navigation.push未从参数更新UI,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我使用的是react导航5 导航是这样的 Home -->List -->detailsA -->detailsB -->detailsC -->detailsD <TouchableOpacity key={item.id} onPress={() => //********** using push here
Home
-->List
-->detailsA
-->detailsB
-->detailsC
-->detailsD
<TouchableOpacity
key={item.id}
onPress={() =>
//********** using push here
navigation.push('CaseDetails', {
screen: 'CaseDetails',
params: {
random: Math.floor(Math.random()* 2000),
title: item.title,
summary: item.summary,
image: item.image,
})
}>
如你所见,我得到了如上所示的导航结构
我使用导航从主页
组件转到列表
组件。导航
工作正常。我还可以使用导航从列表
转到detailsA
。导航
以下是详细信息的代码列表
<TouchableOpacity
key={info.id}
onPress={() =>
navigation.navigate('CaseDetails', {
screen: 'CaseDetails',
params: {
random: Math.floor(Math.random()* 2000),
title: info.title,
summary: info.summary,
image: info.image,
},
})
}>
正如您在代码中看到的。我正在将新的title、summary和imag
e传递到details组件中,但是UI没有更新
这里有我遗漏的东西吗
重要的一点是,如果我从
list
转到details A
,假设随机生成的数字是555
,如果我从detailsA
转到detailsB
的话,随机数仍然是555
你从detailsA导航到detailsB只是为了改变它的参数吗?如果是,您可以使用以下功能:
navigation.setParams({//new params here});
如何管理组件中的状态?我在详细信息页面中没有状态,我只使用
const{title,summary}=route.params获取参数
问题是来自路由的数据。params
始终返回初始值,即detailsA
,即使我从detailsA转到detailsB
时通过params传递值