Quiero asignar una respuesta en la matriz de Fruits. Obtuve los datos de Api usando fetch... Pero obtengo una matriz vacía cuando console.log... Recibo la respuesta de Api pero no puedo asignarla a las frutas que estoy haciendo. de esta manera: .then(data => Fruits);
let Fruits = [] useEffect(() => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIwicm9sZSI6ImV4cGVydCJ9.6pYrAr_En0nl4N52oP1O7WRJA6PPFGCzUebauBIOEnc", }, body: JSON.stringify({"dfdfdffd"}) }; fetch('https://d.com/audis/el/lt', requestOptions) .then(response => response.json()) .then(data => Fruits); }, []);
Usa un estado
const [fruits, setFruits] = useState([]); useEffect(() => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIwicm9sZSI6ImV4cGVydCJ9.6pYrAr_En0nl4N52oP1O7WRJA6PPFGCzUebauBIOEnc", }, body: JSON.stringify({"firebase_id":"foCzPM8MgOtg1"}) }; fetch('https://d.com/audis/el/lt', requestOptions) .then(response => response.json()) .then(data => setFruits(data); }, []);
¿Quizás usar un estado?
const [fruits, setFruits] = useState([]) useEffect(() => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIwicm9sZSI6ImV4cGVydCJ9.6pYrAr_En0nl4N52oP1O7WRJA6PPFGCzUebauBIOEnc", }, body: JSON.stringify({"firebase_id":"foCzPM8MgOtg1"}) }; fetch('https://d.com/audis/el/lt', requestOptions) .then(response => response.json()) .then(data => setFruits(data)); }, []); console.log(fruits);
No estás asignando data
a nada. Probar:
fetch('https://d.com/audis/el/lt', requestOptions) .then(response => response.json()) .then(data => Fruits = data);
Además, debe usar un estado para almacenar la información.
const [fruits, setFruits] = useState(); fetch('https://d.com/audis/el/lt', requestOptions) .then(response => response.json()) .then(data => setFruits(data));