Javascript React Native:如何在屏幕渲染时或之前立即获取数据?
我是这样做的,但是现在我需要在调用函数之前保护文件。我需要在用户切换到屏幕时立即调用它,因为将显示的项目来自提取Javascript React Native:如何在屏幕渲染时或之前立即获取数据?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我是这样做的,但是现在我需要在调用函数之前保护文件。我需要在用户切换到屏幕时立即调用它,因为将显示的项目来自提取 useLayoutEffect(()=>{ 异步函数getUserData(){ var contracents=await firebase.firestore().doc(“contracents/”+user.uid.get(); 变量标签=[] 配料.data().配料.forEach(配料=>{ 标签.推送(配料.标签) }) SetUserComponents(标签)
useLayoutEffect(()=>{
异步函数getUserData(){
var contracents=await firebase.firestore().doc(“contracents/”+user.uid.get();
变量标签=[]
配料.data().配料.forEach(配料=>{
标签.推送(配料.标签)
})
SetUserComponents(标签)
console.log(UserComponents)
setUserRecipes([])
}
getUserData()
获取配方(用户配料)
},[])
需要进行一些更改:
import React,{useState,useffect}来自“React”;
const useFetch=(targetUrl)=>{
const[data,setData]=useState(null);
useffect(()=>{
异步函数fetchData(){
const response=等待获取(targetUrl);
const json=await response.json();
setData(json);
}
fetchData();
},[targetUrl]);
返回数据;
};
常量应用=()=>{
常量URL=https://api.spoonacular.com/recipes/findByIngredients?ingredients=“+UserComponents.join(“,”+“&number=“+String(number)+”&apiKey=“+apiKey”;
const result=useFetch(URL);
返回(
{JSON.stringify(结果)}
);
}