React native navigation.push 没有更新参数中的 UI

React native navigation.push is not updating the UI from the params

我正在使用反应导航 5,

导航是这样的

Home
-->List
   -->detailsA
   -->detailsB
   -->detailsC
   -->detailsD

如你所见,我得到了与上面类似的导航结构,

我使用 navigation.navigate

home 组件转到 list 组件

它工作正常。我也可以使用 navigation.navigate.

ListdetailsA

这是代码List to details

<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,
            },
        })
    }>

如你所见,我可以使用参数传递详细信息。

当我想从 details 转到 details 页面时,问题就开始了。 正如文档所述,我在从 detailAdetailsB 时使用 navigation.push React Native

同时也传递了detailsB的

代码是这样的

<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,
                            
                    })
                }>

如您在代码中所见。我正在将新的 title , summary and image 传递到详细信息组件中,但是 UI 没有更新。

这里有什么我遗漏的吗

重要的一点是,如果我从listdetails A,假设随机生成的数字是555,如果我从detailsAdetailsB随机数还是555

您从 detailsA 导航到 detailsB 只是为了更改其参数吗?如果是,你可以只使用函数:

navigation.setParams({//new params here});