как вывести json с вложенными массивами
апи бинанса, к сожалению не идеально и порой есть моменты, когда вместо нормальных вариантов с массивом объектов, из запроса прилетает массив массивов. с этим я и столкнулся. и это кинуло меня в ступор.
const [orders, setOrders] = useState([]);
const requireOrders = () => axios.get(https://api.binance.com/api/v3/depth?limit=10&symbol=BTCUSDT)
.then(order => {
console.log(order.data.bids);
setOrders(order.data.bids);
setIsLoadedOrders(true);
setTimeout(() => requireData(), 1000)
})
const [price, qty] = orders;
useEffect(() => {
requireOrders();
}, []);
{isLoadedOrders ? orders.map(array => <Order price={array.price} qty={array.qty} />) : "загрузка"}
Array(10) [ (2) […], (2) […], (2) […], (2) […], (2) […], (2) […], (2) […], (2) […], (2) […], (2) […] ]
0: Array [ "19846.96000000", "0.02276000" ]
1: Array [ "19846.95000000", "0.25193000" ]
2: Array [ "19846.94000000", "0.00680000" ]
3: Array [ "19846.91000000", "0.00051000" ]
4: Array [ "19846.88000000", "0.04119000" ]
5: Array [ "19846.87000000", "0.00053000" ]
6: Array [ "19846.84000000", "0.68228000" ]
7: Array [ "19846.83000000", "1.59320000" ]
8: Array [ "19846.80000000", "0.05138000" ]
9: Array [ "19846.79000000", "0.01000000" ]
Ответы (1 шт):
Автор решения: exiltrip
→ Ссылка
поправка: нашел решение в мапе прописать следующее:
{isLoadedOrders ? orders.map(order => {const [price, qty] = order;return <Order price={price} qty={qty} /> }) : "загрузка"}