Reactjs 为什么我的图像中有一个空数组?从strapi获取数据

Reactjs 为什么我的图像中有一个空数组?从strapi获取数据,reactjs,axios,strapi,Reactjs,Axios,Strapi,下面是我的代码片段。我正在将我的数据映射到重命名item.image.url,但我正在图像上获取未定义的值 export function flattenProducts(data) { return data.map((item) => { let image = item.image.url return { ...item, image }; }); } React.useEffect(() => { axios.get(`${url}/pr

下面是我的代码片段。我正在将我的数据映射到重命名item.image.url,但我正在图像上获取未定义的值

export function flattenProducts(data) {
  return data.map((item) => {
    let image = item.image.url
    return { ...item, image };
  });
}
React.useEffect(() => {
 
    axios.get(`${url}/products`).then((response) => {
      
      const products = flattenProducts(response.data);
      console.log(products);
    });
}, []);
请看下面的图片。感谢您的帮助。多谢各位


数据返回后。item.image是一个数组。
所以,
让image=item.image[0]?.url应该可以工作。

你的问题实际上已经回答了。您试图映射Strapi认为您的
图像
是一个数组(图像或其他数据)。当您尝试映射
item.image.url
时,实际上并不正确。即使数组中有一项,也不能在不指出数组元素的索引的情况下引用它。例如,如果您编写
item.image[0].url
而不是
item.image.url
内部的
platteproducts
函数,它将起作用,正如@。尝试:

导出功能产品(数据){
返回数据。映射((项)=>{
让image=item.image[0].url
返回{…项,图像};
});
}

解决此问题的最佳方法是在Strapi管理面板中更改图像元素的内容类型。

明白了。Thanks@ShugiYen,你可以考虑接受我的回答。