簡體   English   中英

如何使用數組 React 組件中的地圖打印 JSON 數據

[英]How to print JSON data with map in array React component

我在 React 數據文件中有一個這樣的數組,我正在使用.map()方法在組件ProjectItem.js加載 JSON 數據。

打印嵌套 JSON 對象的最有效方法是什么? 我現在想在項目數組中打印標題,以便我可以調試它,在瀏覽器上顯示它。 我在檢查器中看不到<div className="title"></div> ,正確的功能是什么?

數據.json

{
"projects": [
    {
        "title": "Projecttitle1",
        "category": "frontend development",
        "description": "",
        "desktop": [],
        "mobile": []
    }
  ]
}

項目項目.js

import React from 'react';
import './ProjectItem.scss';
import useWindowWidth from '../../Hooks/useWindowWidth.js';
import { projects } from '../../data'

import desktopImage from '../../Assets/Images/Projects/Desktop/123.jpg';
import mobileImage from '../../Assets/Images/Projects/Mobile/123_square.jpg'


const ProjectItem = ({ viewProject }) => {

const imageUrl = useWindowWidth() >= 650 ? desktopImage : mobileImage;

const { windowWidth } = useWindowWidth();
return(
    <div className="projectItem" style={{ backgroundImage: `url(${ imageUrl })`}}>
        {windowWidth >= 650 &&( 
            <>
            <div className="title">
                {projects.map((data, key)=>{
                        console.log(key);
                    return(
                        <div key={key}>
                        {data.title}
                        </div>
                    );
                })} 
            </div>
            <div className="viewProject">{viewProject}</div>
            </>
        )}  
    </div>
    );
}; 

export default ProjectItem

安慰:

空的

我假設import { projects } from '../../data'是這樣的:

export const data = {
  projects: [
    {
      title: "Project title 1",
      category: "frontend development",
      description: "",
      desktop: [],
      mobile: []
    }
  ]
};

因此,當您映射此對象時,您需要像data.projects.map()一樣引用projects屬性。

例子:

數據.js

export const data = {
  projects: [
    {
      title: "Project title 1",
      category: "frontend development",
      description: "",
      desktop: [],
      mobile: []
    },
    {
      title: "Project title 2",
      category: "frontend development",
      description: "",
      desktop: [],
      mobile: []
    }
  ]
};

應用程序.js

import React from "react";

import { data } from "./data";

export default function App() {
  return (
    <div>
      {data.projects.map((project, key) => {
        return <p key={key}>{project.title}</p>;
      })}
    </div>
  );
}

我也創建了代碼沙盒

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM