.mapu nie je funkcia, pri načítaní údajov z API reactjs

0

Otázka

Som pomocou API na načítanie údajov. Keď som konzoly.denník moje údaje, ukazuje sa ako pole. Ale keď sa snažím na mapu nad ním získať údaje, ktoré sa majú zobraziť, to mi hovorí, že .mapu nie je funkcia. Vytvoril som si vlastný useFetch háčik a potom som importujete do samostatná zložka. Tu je môj kód a screenshot z konzoly.denník:

useFetch.js

import { useEffect, useState } from 'react'

function useFetch(url) {
    const [data, setData] = useState(null)
    const [isLoading, setIsLoading] = useState(true)
    const [error, setError] = useState(null)

    useEffect(() => {
        fetch(url)
            .then(response => {
                if (!response.ok) {
                    throw Error("Sorry, couldn't fetch data for this resource!")
                }
                return response.json()
            })
            .then(responseData => {
                setData(responseData)
                setIsLoading(false)
                setError(null)
            })
            .catch(error => {
                setIsLoading(false)
                setError(error.message)
            })
    }, [url])

    return { data, isLoading, error }
}

export default useFetch

List.js

import React from 'react'
import useFetch from './useFetch'

function PrizeList2017() {
    const { data } = useFetch('http://api.nobelprize.org/v1/prize.json?year=2017&yearTo=2017')

    return (
        <div className="prize-list-2017-container">
            <h1>2017</h1>
            {data.map(prize => (
                <div key={prize.id}>
                    <h2>{prize.category}</h2>
                </div>
            ))}
            {console.log(data)}
        </div>
    )
}

export default PrizeList2017

konzoly.prihlásenie

konzoly.prihláste info obrázok

Vašu pomoc, je veľmi cenený!

api arrays javascript map-function
2021-11-23 19:55:22
1

Najlepšiu odpoveď

1

Tieto údaje nie je prítomný áno, keď sa pokúsite urobiť mapu tak urobiť:

  {data && data.prizes && data.prizes.map(prize => (
2021-11-23 20:25:42

Ahoj! Áno, snažil som sa, že už bola stále rovnaká chyba.
cjb

nevšimol som si konzoly denník, údaje je vlastne objekt a údajov.ceny pole
Konflex

V poriadku, som usúdil, že tak, ale konzoly.denník hovoril pole! Som stále nie ste istí, ako extrahovať údaje z objektu!
cjb

Skúste mapa s údajmi.ceny, by to malo byť, tak som ich upravil moje správy
Konflex

Oh, ďakujem pekne fungovalo to! Život šetrič!!!
cjb

Je to preto, že ste definovať pôvodne údajov, ako null tak to nemá prístup na dáta.ceny, keď je null, budete musieť skontrolovať, že údaje nie je null urobiť mapu
Konflex

Ako prísť na to nemal pracovať len s {údaje && údajov.ceny.mapa(cena => (? Len chcete skutočne pochopiť, prečo pridanie údajov.výhry v stredu pracoval!
cjb

Naozaj oceňujem pomoc, ďakujem moc!
cjb

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................