首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在React组件中使用数组映射JSON数据

如何在React组件中使用数组映射JSON数据
EN

Stack Overflow用户
提问于 2020-09-30 18:35:41
回答 2查看 641关注 0票数 0

在React数据文件中有这样一个数组,我使用.map()方法在组件ProjectItem.js中加载JSON数据。

问题1:解决了,什么是找出我的代码是否包含一个值的最有效的方法?{data.title}目前还没有显示在我的页面上。我试过根据文档应用一些代码,请看一看并帮助我。

*问题2:打印嵌套JSON对象的最有效方法是什么?现在我想在projects数组中打印标题,这样我就可以调试它了。显示在浏览器上。我在检查器中看不到console.log(key)没有显示在控制台上(该函数出了问题)。

Data.json

代码语言:javascript
代码运行次数:0
运行
复制
{
"projects": [
    {
        "title": "Projecttitle",
        "category": "frontend development",
        "description": "",
        "desktop": [],
        "mobile": []
    }
  ]
}

ProjectItem.js

代码语言:javascript
代码运行次数:0
运行
复制
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

控制台:

空的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-30 18:40:07

可以使用数组的length属性来确定数组是否为空。

代码语言:javascript
代码运行次数:0
运行
复制
const emptyArray = [];
const notEmptyArray = [1,2,3];

console.log(!emptyArray.length); // => true;
console.log(!notEmptyArray.length); // => false;
票数 0
EN

Stack Overflow用户

发布于 2020-09-30 18:38:52

您可以使用Array.prototype.includes()来检查元素是否在数组中。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64143772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档