const [restaurantsData,setrestaurantsData]=useState([]) useEffect(()=>{ const getData = async () => { await fetch('http://localhost:5000/api/v1/res/') .then((response) => response.json()) .then((json) => {setrestaurantsData(json.data),console.log(restaurantsData)}) .catch((error) => console.error(error)) .finally(); }; getData(); console.log(id) console.log("photo",restaurantsData.photo) },[]) useEffect(()=> { for (const {type: t} of menuDetailedData) { routes.push({key:i,title:t}) i++; } console.log("routes",routes) let acc=[] for(let i=0; i<menuDetailedData.length-1;i++) { if(routes[i].title===routes[i+1].title) { acc.push(routes[i]) } } setroutes(routes.filter(item => !acc.includes(item))) console.log("acc",acc) },[])Los datos del restaurante en este código siempre son nulos. Sin embargo, tengo el mismo código en la pantalla anterior que funciona perfectamente bien. No sé por qué el estado no está actualizando el archivo . Puede ser useeffect está causando problemas
Para ver los cambios de restaurantsData debes usar un useEffect para verificar ese cambio:
Como esto:
useEffect(()=> { console.log(restaurantsData) // if the restaurantsDate is still null here probably your service its not working correctly //NOTE: as I am passing the restaurantsData in the dependency array of the useEffect every time that restaurantsData change this will execute. }, [restaurantsData])