Javascript 在React Native中使用forEach显示API结果

Javascript 在React Native中使用forEach显示API结果,javascript,react-native,Javascript,React Native,我试图显示来自api的数据,但无法正确使用forEach方法同时显示所有数据。API工作正常。代码如下: import React, {useEffect, useState} from 'react' import { Text, View, ActivityIndicator, ScrollView } from 'react-native' import axios from '../../utils/axios' //import CurrencyPair from '../../Cur

我试图显示来自api的数据,但无法正确使用forEach方法同时显示所有数据。API工作正常。代码如下:

import React, {useEffect, useState} from 'react'
import { Text, View, ActivityIndicator, ScrollView } from 'react-native'
import axios from '../../utils/axios'
//import CurrencyPair from '../../CurrencyPair'
function HomeScreen() {
    const [data, setData] = useState([])
    const [isLoading, setIsloading] = useState(true)

   
    useEffect(() => {
        const fetchpairs = async() => {
            const result = await axios.get('/v3/accounts/{AccountId}/pricing?instruments=EUR_USD%2CUSD_CAD')
            console.log(result.data)
            setData(result.data)
            setIsloading(false)
            
        }
        fetchpairs()
    }, [])

    
if(isLoading) {
    return (
        <ActivityIndicator size="large"/>
    )
}
else
return (
    <ScrollView>
        {[data].map((data) => (
            data.forEach(data =>{
           <Text>{JSON.stringify(data.prices[0].instrument)}
            {JSON.stringify(data.prices[0].closeoutAsk)}
            {JSON.stringify(data.prices[0].closeoutBid)}
            
            </Text>
            })
))}
    </ScrollView>
)
}

export default HomeScreen
import React,{useffect,useState}来自“React”
从“react native”导入{Text,View,ActivityIndicator,ScrollView}
从“../../utils/axios”导入axios
//从“../../CurrencyPair”导入CurrencyPair
功能主屏幕(){
const[data,setData]=useState([])
常量[isLoading,setIsloading]=useState(真)
useffect(()=>{
const fetchpairs=async()=>{
const result=wait axios.get('/v3/accounts/{AccountId}/pricing?instruments=EUR_USD%2CUSD_CAD')
console.log(result.data)
setData(result.data)
setIsloading(错误)
}
fetchpairs()
}, [])
如果(孤岛加载){
返回(
)
}
其他的
返回(
{[data].map((data)=>(
data.forEach(数据=>{
{JSON.stringify(data.prices[0].instrument)}
{JSON.stringify(data.prices[0].closeoutAsk)}
{JSON.stringify(data.prices[0].closeoutBid)}
})
))}
)
}
导出默认主屏幕

映射已经在处理forEach函数

<ScrollView>
        {[data].map((item,i) => {
           
         return(<Text key={i}>{JSON.stringify(item.prices[0].instrument)}
            {JSON.stringify(item.prices[0].closeoutAsk)}
            {JSON.stringify(item.prices[0].closeoutBid)}
            
            </Text>
            )}
   )}
    </ScrollView>

{[data].map((项目,i)=>{
返回({JSON.stringify(item.prices[0].instrument)}
{JSON.stringify(item.prices[0].closeoutAsk)}
{JSON.stringify(item.prices[0].closeoutBid)}
)}
)}

你的
数据对象是什么样子的?
数据是:
价格:数组(2)0:asks:Array(1)0:{price:“1.19061”,流动性:10000000}长度:1{uu协议:数组(0)出价:数组(1)0:{price:“1.19032”,流动性:10000000}长度:1{uu协议:数组(0)closeoutAsk:“1.19061”closeoutBid:“1.19032”工具:“欧元兑美元”1:asks:Array(1)0:{价格:“1.31015”,流动性:10000000}长度:1欧元兑美元:Array(0)投标:Array(1)0:{价格:“1.30949”,流动性:10000000}长度:1欧元兑美元:Array(0)收尾任务:“1.31015”收尾投标:“1.30949”工具:“美元”“
Array.prototype.forEach函数返回undefined,因此如果要返回元素,内部循环需要使用map。注意,在匿名函数中使用括号时,需要在组件调用前面使用“return”符号。上面的数据打印输出很难读取,您是否有可能提供纯JSON格式?