reactjs 渲染错误一直困扰着我- React Native

6ioyuze2  于 2023-02-18  发布在  React
关注(0)|答案(1)|浏览(137)

所以我一直在用

import { useRoute } from '@react-navigation/native' 

const ProductInfo = () => {

const {
    params: {
        category,
        coreProduct,
        subProduct
    },
} = useRoute()

return (
    <Text>{category}</Text>
    <Text>{coreProduct}</Text>
    <Text>{subProduct}</Text>
{...}

延续用户使用按钮或通过应用程序选择图像所做的选择,在大多数情况下,我对此没有意见。例如,我已经能够延续三个独立屏幕的选择,在标题中显示前一个屏幕的选择,(例如:Men's〉Shirt〉Casual Wear)并进入下一页,但由于某种原因,将其返回到主页面以显示所有三个选项时会出现渲染错误"undefined is not an object(evaluating '_useRoute $params. category')"我之前碰巧修复过一次,但在对选择屏幕进行一些编辑后,它再次出现,无法找出问题所在。
如果需要更多的代码示例,请让我知道,我可以添加一个示例的流程,我有这4个屏幕,主,选项1,选项2,选项3,然后返回到主。
谢谢你的时间!

qhhrdooz

qhhrdooz1#

当您尝试使用_useRoute$params. category访问category时,您看到的错误消息是category is undefined。此错误可能由几个不同的原因导致,但一个可能性是category参数没有从某个屏幕正确传递到主页面。
当你从选项屏幕导航回主页面时,需要仔细检查category参数是否被正确传递。一种方法是使用navigation.navigate函数将category参数作为第二个参数传递,如下所示:

navigation.navigate('Main', { category: category });

然后在主页面中,您可以访问类别参数,如下所示:

const { params } = useRoute();
const category = params?.category;

错误也可能是由代码中的打字错误或其他错误引起的,因此,仔细检查代码并仔细检查所有内容是否拼写正确以及是否使用了正确的变量名始终是一个好主意。

相关问题