如何使用axios从API中获取数组对象?

4nkexdtk  于 2022-12-12  发布在  iOS
关注(0)|答案(2)|浏览(201)
  1. Im使用axios从API获取数据。
    1.我有对象数组。
    1.我想获取数组中对象
    下面是API:https://51fgc922b7.execute-api.ap-south-1.amazonaws.com/dev/productpreview?product_id=122003enter image description here显示器
    这就是我的努力!
useEffect(() => {
    if (props.product_id) {
      axios.
        get(`https://51fgc922b7.execute-api.ap-south-1.amazonaws.com/dev/productpreview?product_id=${props.product_id}`)
        .then((res) => {
          console.log(res.data)
          setModelData(res.data.data[0])
        })
        .catch((error) => {
          setIsErrorImage(true)
        })
    }
  }, []);

我可以获取数据,但我试图实现的是,有三个对象与相机对象称为0,1,2,我想获取他们。

zour9fqk

zour9fqk1#

我不确定你的要求,但据我所知,你只是想从你得到的数据中得到对象数组。

const cameraData = res.data.reduce((acc,el) => [...acc, ...el.camera], [] )
igsr9ssn

igsr9ssn2#

如果res.data正确,
设置模型数据(资源数据)
且在返回示例中;

modelData.map((item)=> {
return (
<div> {item.camera.map((data)=>{
return (
<div> {data.camera_beta} </div>
)
})}
 </div>  )})

这就是我想说的

const [modelData, setModelData] = useState([
  {
    name: 'Electronics',
    slug: 'electronics',
    count: 11,
    items: [
      { name: 'Phones', slug: 'phones', count: 4 },
      { name: 'Tablets', slug: 'tablets', count: 5 },
      { name: 'Laptops', slug: 'laptops', count: 2 },
    ],
  },
  {
    name: 'Clothing',
    slug: 'clothing',
    count: 12,
    items: [
      { name: 'Tops', slug: 'tops', count: 3 },
      { name: 'Shorts', slug: 'shorts', count: 4 },
      { name: 'Shoes', slug: 'shoes', count: 5 },
    ],
  }
 ])

你有这样的数据。这样你就可以在useeffect中把数据设置到setmodeldata中。在useeffect中设置之后
控制台日志(模型数据)和控制台日志(模型数据[0])
您可以看到two.one以对象形式出现与另一个以数组形式出现之间的区别。
最多只能Map它们

相关问题