Jest to spowodowane tym, że
fetch(API)
.then((response) => {
if (response.ok) {
return response;
}
throw Error("Dont work :(");
})
.then((response) => response.json())
.then((data) => {
setRecipeInfo(data);
});
},[])
To jest kod asynchroniczny wiec działanie jego wykonuje się w tym samym czasie co reszta, wiec wywołanie twojej zmiennej następuje niezaleznie nawet od tego jaki jest rezultat działania asynchronicznego, więc w sytuacji kiedy zasób danych np jeszcze się nie pobrał to i tak twoja zmienna zostaje np wypisane- wiec wskazuje na undefined.
Sprawdź czy obiekt zwrotny nie zwraca przypadkiem Obietnicy/Promise i wtedy obsłuż -> resolve rozwiąż obietnice