У меня есть следующий useEffect
код, который, я знаю, работает для ответов, которые выглядят следующим образом [{"name":"Agilent Technologies Inc","symbol":"A","industry":"Health Care"},{"name":"American Airlines Group","symbol":"AAL","industry":"Industrials"},{"name":"Advance Auto Parts","symbol":"AAP","industry":"Consumer Discretionary"}]
.
Но это не работает для следующего типа ответа {"timestamp":"2020-03-23T14:00:00.000Z","symbol":"AAL","name":"American Airlines Group","industry":"Industrials","open":10.9,"high":11.36,"low":10.01,"close":10.25,"volumes":55494100}
. Как лучше всего настроить код для работы? Это бросает Unhandled Rejection (TypeError): data.map is not a function
.
const [stockData, setStockData] = useState([]);
const [query, setQuery] = useState("AAL");
useEffect(() => {
fetch(`PRIVATE_URL_${query}`)
.then(res => res.json())
.then(data =>
data.map(stocks => {
return {
name: stocks.name,
symbol: stocks.symbol,
industry: stocks.industry,
open: stocks.open,
high: stocks.high,
low: stocks.low,
close: stocks.close,
volume: stocks.volume
};
})
)
.then(stocks => setStockData(stocks));
}, [query]);