Reactjs 从API获取dara时可能未经处理的承诺被拒绝 导出默认函数App({navigation,navigation:{goBack}}){ const[hasPermission,setHasPermission]=useState(null); const[scanned,setScanned]=使用状态(false); const[data,setData]=useState(“”); 常量手柄代码=({data})=>{ (真实的); axios .得到( `https://api.edamam.com/api/food-database/v2/parser?upc=${data}&app_id=2626c70d&app_key=0C0F87AE4E54376213363ECF8E7EA80AE&page=20` ) 。然后((分辨率,数据)=>{ setData(res.data.hints); 导航(“食物”{ 标题:data.label{ console.log(error.response.data); }); }; 返回( goBack()}> ); }
您好,我正在尝试使用Reactjs 从API获取dara时可能未经处理的承诺被拒绝 导出默认函数App({navigation,navigation:{goBack}}){ const[hasPermission,setHasPermission]=useState(null); const[scanned,setScanned]=使用状态(false); const[data,setData]=useState(“”); 常量手柄代码=({data})=>{ (真实的); axios .得到( `https://api.edamam.com/api/food-database/v2/parser?upc=${data}&app_id=2626c70d&app_key=0C0F87AE4E54376213363ECF8E7EA80AE&page=20` ) 。然后((分辨率,数据)=>{ setData(res.data.hints); 导航(“食物”{ 标题:data.label{ console.log(error.response.data); }); }; 返回( goBack()}> ); },reactjs,react-native,api,axios,react-navigation,Reactjs,React Native,Api,Axios,React Navigation,您好,我正在尝试使用React Navigation将title发送到一个页面,因此当用户扫描一个项目,并且在数据库中找到该项目时,它会将他/她带到食品页面上,并使用该常量。目前,数据是正确地从数据库中获取的,但当我运行代码时,它会显示可能未更改的承诺RejSection:TypeError:undefined不是一个对象您在函数内和函数内对状态使用相同的名称数据。然后,在API中尝试更改名称,然后进行检查,我没有弄清楚是哪个数据。您传递给标题的标签请为函数内的变量({dataFromBarCo
React Navigation
将title
发送到一个页面,因此当用户扫描一个项目,并且在数据库中找到该项目时,它会将他/她带到食品页面上,并使用该常量。目前,数据是正确地从数据库中获取的,但当我运行代码时,它会显示可能未更改的承诺RejSection:TypeError:undefined不是一个对象
您在函数内和函数内对状态使用相同的名称数据。然后,在API中尝试更改名称,然后进行检查,我没有弄清楚是哪个数据。您传递给标题的标签请为函数内的变量({dataFromBarCode})使用不同的名称然后(res,dataApi)它将工作哪一行抛出它?而不是data.label
调用NavigateeFunction时需要使用res.data.label
,我编辑并在该行上放置一个箭头我尝试过,结果保持不变,链接到API文档:
export default function App({ navigation, navigation: { goBack } }) {
const [hasPermission, setHasPermission] = useState(null);
const [scanned, setScanned] = useState(false);
const [data, setData] = useState("");
const handleBarCodeScanned = ({ data }) => {
setScanned(true);
axios
.get(
`https://api.edamam.com/api/food-database/v2/parser?upc=${data}&app_id=2626c70d&app_key=0c0f87ae4e5437621363ecf8e7ea80ae&page=20`
)
.then((res, data) => {
setData(res.data.hints);
navigate("Food", {
title: data.label, <--------------------------
});
})
.catch((error) => {
console.log(error.response.data);
});
};
return (
<View style={styles.container}>
<BarCodeScanner
onBarCodeScanned={scanned ? undefined : handleBarCodeScanned}
style={StyleSheet.absoluteFillObject}
>
<TouchableOpacity onPress={() => goBack()}>
<Icon
name="angle-left"
color="white"
size={40}
style={{ top: hp("10%"), left: wp("5%") }}
/>
</TouchableOpacity>
</BarCodeScanner>
</View>
);
}