这是函数行为:
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})
}
有点像创可贴,但如果有人有更好的解决方案,我会很高兴听到的。