尝试发送钩子On Press,在函数末尾导航,在另一页接收时未定义



这是函数行为:

const categoryHandler=(item)=>{

if(item.category==='Burger'){
setDataForCategoryPage(catBurger);

}
else if(item.category==='Pizza'){
setDataForCategoryPage(catPizza);
}
else if(item.category==='Sushi'){
setDataForCategoryPage(catSushi);
}
else{
setDataForCategoryPage(catMiddleEast);
}

navigation.navigate('CategoryRes',{item},{dataForCategoryPage},{isLoadingCategory})
}

尝试传递类别页面的数据

这里收到了挂钩

const CategoryRes=({navigation,route})=>{
const [data,setData]=useState([]);
const{item,isLoadingCategory,dataForCategoryPage}=route.params;



得到未定义的,我需要做什么?

我设法修复了它,首先我在导航中以错误的方式传递参数,它应该是:

navigation.navigate('CategoryRes',{data:data,item,isLoadingCategory})



const categoryHandler=(item)=>{
let data=[]
if(item.category==='Burger'){
data=catBurger;
setDataForCategoryPage(data);

}
else if(item.category==='Pizza'){
data=catBurger;
setDataForCategoryPage(data);
}
else if(item.category==='Sushi'){
data=catBurger;
setDataForCategoryPage(data);
}
else{
data=catBurger;
setDataForCategoryPage(data);

}
navigation.navigate('CategoryRes',{data:data,item,isLoadingCategory})

}

有点像创可贴,但如果有人有更好的解决方案,我会很高兴听到的。

最新更新