反應如何在嵌套數據對像中呈現動態圖像

亞歷克斯·維爾迪

console.log()在從我的 GraphQL 查詢映射我的數據後,我可以得到我想要的數據。但是,嵌套.map函數沒有呈現我的 JSX。是否可以在嵌套中呈現 JSX .maps

const NikonGallery = ({ data }) => {
return (
<Layout>
{data.allFiles.nodes.map((item) => {
        Object.entries(item).map(([key, value]) => {
          value.map((image) => {
            console.log("Individual image", image) // Logs show the data I want
            return ( 
              <>
                <GatsbyImage
                  image={image.gatsbyImageData}
                  alt={image.description}
                />
              </>
            )
          })
        })
      })}
 </Layout>
 )
}

export default NikonGallery

來自 GraphQL/Contentful 的數據是一個嵌套的對像數組。當我通過.map.

沉默多好

關於嵌套映射,您需要進行一些更改以從每個映射返回正確的表達式。控制台日誌工作的原因是因為代碼仍然循環;然而,React 不會從地圖中返回任何表達式來渲染。嘗試這個:

data.allFiles.nodes.map((item) => {
    return Object.entries(item).map(([key, value]) => {
      return value.map((image) => {
        console.log("Individual image", image) // Logs show the data I want
        return ( 
          <>
            <GatsbyImage
              image={image.gatsbyImageData}
              alt={image.description}
            />
          </>
        )
      })
    })
  })}
</Layout>
)

像這樣的動態圖片使用Gatsby圖片插件時,應該使用getImage()插件提供方法。導入應如下所示:

import { GatsbyImage, getImage } from "gatsby-plugin-image";

您的情況下的用法如下所示:

value.map((image) => {
        const gatsbyImage = getImage(image);
        return ( 
          <>
            <GatsbyImage
              image={gatsbyImage}
              alt={image.description}
            />
          </>
        )
      })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在來自 Contentful 的富文本中呈現資產(圖像)

如何在反應中將函數和對像傳輸到函數組件

如何在javascript中按日期範圍從對像數組中獲取唯一數據

如何從 React 中的嵌套對像數組中提取數據?

在反應中過濾對像數組不起作用

如何在javascript中將嵌套對象轉換為對像數組?

如何在 TypeScript 的類或對像中要求特定的數據類型?

REACT 如何根據 URL 為英雄圖像呈現不同的圖像

如何破壞動態分配的動態對像數組?

如何在反應中從動態表中獲取行數據

如何在 React 中“展平”嵌套對像數組?

如何在 ruby on rails 視圖中呈現嵌套 json 對象的內容

如何在要解析的嵌套對像數組中獲取 RxJs Observable 的值?

如何根據布爾值在反應應用程序中呈現信息?

在反應對像中過濾數據幀時引用數據幀列的正確方法

如何動態設置數據:圖像/文件類型?

如何根據 JavaScript 中對像數組中重複日期的出現次數求和?

反應 | 嘗試推送到狀態數組時出現錯誤“對像作為 React 子對象無效”

如何在圖像上傳 PUT 請求到簽名 url 期間設置/更新 AWS s3 對像元數據?

如何在python中將圖像數據正確地擬合到模型中?

如何在嵌套的對像數組中獲取對象路徑?

如何從對像數組中迭代和提取單個對像以在 React 中呈現

根據其他對像數組的值動態分配對象屬性

如何在反應中僅為數組中的第一個元素呈現按鈕

如何在反應中動態加載圖像

如何在react js打字稿中過濾對像數組中的數據

如何在 Javascript 中更新嵌套對像數組中的鍵/值對

HTML SelectBox 視圖 Salesforce 對像數據

如何在反應中創建對像數組?