React表中显示JSON数据demo

目录
  • 引言
    • 项目设置
    • 从API获取数据
    • 在React中创建一个表
  • 结论

引言

可能每个网站都会以这样或那样的方式消耗数据。最常见的情况是,你会遇到需要在表中显示数据的情况。

在本教程中,我们将研究如何获取JSON数据并将其显示在一个表中。

让我们开始吧!

项目设置

通过在你的机器上创建react app或打开浏览器并访问react.new来开始。

一个新的CodeSandbox环境将打开,并设置了React项目。

从API获取数据

在React中,有很多方法来获取数据,但在本教程中,我们将使用**fetch()**函数来获取假的JSON数据。

我们将使用一个假的JSON APIdummyjson.com/products,它返回随机产品的数据,然后我们将使用这些数据在我们的表中显示:

// App.js
import { useEffect } from "react";
import "./App.css";
function App() {
  useEffect(() => {
    fetch(`https://dummyjson.com/products`)
      .then((response) => response.json())
      .then((actualData) => console.log(actualData))
      .catch((err) => {
        console.log(err.message);
      });
  }, []);
  return (
    <div>
      <p>Hello, world!</p>
    </div>
  );
}
export default App;

在这段代码中,我们在useEffect钩子中获取数据,这样它就只在初始渲染时加载数据。你可以在这里了解更多关于如何在React中获取数据

运行React应用程序,你会在浏览器的控制台中看到数据:

接下来,我们将看到如何在一个表中显示这些数据。

在React中创建一个表

在JSX里面创建一个普通的HTML表格。我们也可以使用react-table库,它有一堆可用的功能,但为了本教程的目的,我们将使用普通的表格。

// App.js
import { useEffect, useState } from "react";
import "./App.css";
function App() {
  useEffect(() => {
    fetch(`https://dummyjson.com/products`)
      .then((response) => response.json())
      .then((actualData) => {
        console.log(actualData);
      })
      .catch((err) => {
        console.log(err.message);
      });
  }, []);
  return (
    <div>
      <tbody>
        <tr>
          <th>Name</th>
          <th>Brand</th>
          <th>Image</th>
          <th>Price</th>
          <th>Rating</th>
        </tr>
      </tbody>
    </div>
  );
}
export default App;

现在,我们将利用useState钩子来存储我们获取的所有数据。钩子中的 数据变量是一个空数组,由 setData函数进一步更新。

// App.js
import { useEffect, useState } from "react";
import "./App.css";
function App() {
  const [data, setData] = useState([]);
  const fetchData = () => {
    fetch(`https://dummyjson.com/products`)
      .then((response) => response.json())
      .then((actualData) => {
        console.log(actualData);
        setData(actualData.products);
        console.log(data);
      })
      .catch((err) => {
        console.log(err.message);
      });
  };
  useEffect(() => {
    fetchData();
  }, []);
  return (
    <div>
      <tbody>
        <tr>
          <th>Name</th>
          <th>Brand</th>
          <th>Image</th>
          <th>Price</th>
          <th>Rating</th>
        </tr>
        {data.map((item, index) => (
          <tr>
            <td>{item.title}</td>
            <td>{item.brand}</td>
            <td>
              <img src="{item.thumbnail}" alt="" height="{100}" />
            </td>
            <td>{item.price}</td>
            <td>{item.rating}</td>
          </tr>
        ))}
      </tbody>
    </div>
  );
}
export default App;

在这段代码中,我们正在映射数据数组,其中包含我们获取的所有数据,并将其显示在表格中。现在运行React应用程序并打开你的浏览器。

这里是最终的结果。

结论

在表格中显示JSON数据并不是一项困难的任务,但许多开发者都在努力寻找完美的方法来实现它。在本教程中,我们研究了如何从API中获取JSON数据并在表中显示。现在,请继续努力,让它变得漂亮。

以上就是React表中显示JSON数据demo的详细内容,更多关于React表显示JSON数据的资料请关注我们其它相关文章!

(0)

相关推荐

  • React虚拟渲染实现50个或者一百个图表渲染

    目录 前言 需求 方案 实现 VirtualScroll 组件实现 使用 结束语 前言 最近有个需求,一个页面上要渲染50个或者100个图表,把功能实现后,页面太卡了.之前用过虚拟渲染能解决此类的问题,但用的都是别人写好的库,想了想,自己实现也并不复杂,于是决定自己实现一下. 需求 每行渲染3个图表,右上角的切换可以有50个,100个,或者更多. 方案 虚拟列表其实就是对可视区域做渲染.对不可见的内容不渲染或者预渲染一部分,预渲染一部分,可以减少白屏的内容 我们从上面的图可以看到 可视区域就是我

  • React tabIndex使非表单元素支持focus和blur事件

    目录 前言 触发场景 使用tabIndex使非表单元素支持focus和blur事件 不支持冒泡 支持捕获 react中的focus和blur支持冒泡 前言 在浏览器中表单元素天然支持focus和blur事件,这两个事件在开发过程中出现的频率还是挺高的,前端开发者也都比较熟悉,在这里特意总结一下. 触发场景 鼠标点击 键盘tab键 直接调用dom的focus,blur方法 使用tabIndex使非表单元素支持focus和blur事件 给一个普通的div元素增加tabIndex属性后,这个元素就能支

  • ReactJs实现树形结构的数据显示的组件的示例

    本文介绍了ReactJs实现树形结构的数据显示的组件的示例,分享给大家,具体如下: 1.该组件树形显示数据 2.组件中数据的请求方式为fetch方式 3.点击对应的数据前面的小三角,fetch请求改数据下对应的子数据,并展开该节点. 4.将该组件的js.less文件放到kpiTree目录下,在kpiTree目录下创建images目录将组件需要的图片放入给目录,在kpiTree目录下创建json文件夹将该组件需要的json文件放入改文件夹中,组件便可正常运行. kpiTree.js文件 /** *

  • React Native 的动态列表方案探索详解

    目录 背景 技术方案介绍 内存 异常处理 未来规划 背景 时至2022,精细化运营已经成为了各大App厂商的强需求,阿里的 DinamicX.Tangram 大家应该都很熟悉了,很多App厂商也自研了一些类似框架,基于DSL的动态化方案虽然有性能上的一些优势,但是毕竟不是图灵完备,一些需要逻辑动态下发的需求实现成本偏高,或由于DSL本身限制无法实现,针对这个问题我们使用RN进行了一下探索尝试, 利用我们已经相对完善的RN基建,结合客户端列表能力低成本的实现了一套的动态化能力,同时兼顾一定的性能体

  • jsoneditor二次封装实时预览json编辑器组件react版

    目录 前言 设计思路 正文 jsoneditor的使用 结合react进行二次封装 前言 做为一名前端开发人员,掌握vue/react/angular等框架已经是必不可少的技能了,我们都知道,vue或react等MVVM框架提倡组件化开发,这样一方面可以提高组件复用性和可扩展性,另一方面也带来了项目开发的灵活性和可维护,方便多人开发协作.接下来文章将介绍如何使用react,开发一个自定义json编辑器组件.我们这里使用了jsoneditor这个第三方库,官方地址: jsoneditor 通过实现

  • React Fiber 链表操作及原理示例详解

    目录 正文 什么是Fiber Fiber节点React源码 Fiber树是链表 节点独立 节省操作时间与单向操作 利于双缓存与异步可中断更新操作 异步可中断更新 双缓存 正文 看了React源码之后相信大家都会对Fiber有自己不同的见解,而我对Fiber最大的见解就是这玩意儿就是个链表.如果把整个Fiber树当成一个整体确实有点难理解源码,但是如果把它拆开了,将每个节点都看成一个独立单元却能得到一个很清晰的思路,接下来我就简单几点讲讲,我所认为的为什么React要用链表这种数据结构来构建Fib

  • react-diagram 序列化Json解读案例分析

    本文目标 本文档的目标在于解释react-diagram框架模型序列化的Json,由于缺乏文档,我这边只能通过不断尝试和调试来进行测试. 序列化案例1:空画布 { "id": "27", "offsetX": 0, "offsetY": 0, "zoom": 100, "gridSize": 0, "layers": [ { "id": "

  • React表中显示JSON数据demo

    目录 引言 项目设置 从API获取数据 在React中创建一个表 结论 引言 可能每个网站都会以这样或那样的方式消耗数据.最常见的情况是,你会遇到需要在表中显示数据的情况. 在本教程中,我们将研究如何获取JSON数据并将其显示在一个表中. 让我们开始吧! 项目设置 通过在你的机器上创建react app或打开浏览器并访问react.new来开始. 一个新的CodeSandbox环境将打开,并设置了React项目. 从API获取数据 在React中,有很多方法来获取数据,但在本教程中,我们将使用*

  • 在JavaScript中使用JSON数据

    JSON 是 JavaScript 原生格式,这意味着 在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON语法 JSON建构于两种结构: 对象--名称/值对的集合.不同的语言中,它被理解为对象,纪录,结构,字典,哈希表,有键列表(keyed list),或者关联数组.一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):"'名称/值' 对

  • python和flask中返回JSON数据的方法

    在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dumps(t,ensure_ascii=False) 2.将列表转换成JSON数据格式: s=['张三','年龄','姓名'] return json.dumps(s,ensure_ascii=False) 使用json转换的在前端显示的数据为JSON字符串. 使用flask的jsonify转换后,在前

  • 在Go中使用JSON(附demo)

    目录 Go编码/json包 编码.将Go对象转换为JSON 什么是Go中的marshaling? 装载简单对象 对复杂对象进行编码 集合功能 重命名字段 生成具有缩进功能的JSON(pretty-print) 忽略JSON输出中的特定字段 解除伪装.将JSON转换为Go对象 解除对简单JSON结构的封存 解除复杂数据结构的束缚 从文件系统中读取JSON文件 将JSON文件写到文件系统中 自定义抓取和解除抓取 自定义编排 自定义解密 总结 Golang(又称Go)是一种静态类型的编译编程语言,具有

  • C#中把Json数据转为DataTable

    简单 /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> public static DataTable JsonToDT(string strJson) { //转换json格式 strJson = strJson.Replace(&

  • MYSQL中的json数据操作代码

    目录 MYSQL中的json数据操作 1.2 基础查询操作 1.2.1 一般json查询 1.2.2 多个条件查询 1.2.3 json中多个字段关系查询 1.2.4 关联表查询 1.3 JSON函数操作 1.3.1 官方json函数 1.3.2 ->.->>区别 1.3.2.2 在where条件中使用 1.3.3 json_extract():从json中返回想要的字段 1.3.4 JSON_CONTAINS():JSON格式数据是否在字段中包含特定对象 1.3.5 SON_OBJEC

  • 使用MSScriptControl 在 C# 中读取json数据的方法

    C#中已经有JavaScriptSerializer类可以将json数据给反序列化为对象 /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定类型的对

  • 从MySQL数据库表中取出随机数据的代码

    MySQL 如何从表中取出随机数据  以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了 SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND()  RAND(N)  返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值.  mysql> select RAND

  • MSSql简单查询出数据表中所有重复数据的方法

    本文实例讲述了MSSql简单查询出数据表中所有重复数据的方法.分享给大家供大家参考,具体如下: 这里直接给出下面的例子: SELECT * FROM SYS_LogContent slc WHERE slc.LogInfo_ID IN ( SELECT slc2.LogInfo_ID FROM SYS_LogContent slc2 GROUP BY slc2.LogInfo_ID HAVING COUNT(*)>1 ) 简单说明: 关键代码在于上面的括号中.要想查询出所有重复的数据,可以按照某

  • Android 中对JSON数据解析实例代码

    Android 中对JSON数据解析 在Android的网络编程中,JSON是比XML使用更为广泛的数据传输机制.在许多的http网络请求或接口调用中,返回的很多都是JSON.所以学会解析JSON是学会Android的基本技能. 简单介绍下JSON,JSON是轻量级的文本数据交换格式,独立于语言和平台.比XML更小,更快,更易解析.JSON是用键值对来保存数据的.JSON保存的值可以是数字.字符串.布尔值.数组和对象. 废话少说,直接上代码.下面对以下JOSN进行解析: { "language&

随机推荐