在 React 组件中使用 JSON 数据文件,怎么去读取请求数据呢?

要在 React 组件中使用 JSON 数据,有多种方法。

常用的有以下几种方法:

1、直接将 JSON 数据作为一个变量或常量引入组件中。

js 复制代码
import jsonData from './data.json';

function MyComponent() {
  return (
    <div>
      <h1>{jsonData.title}</h1>
      <p>{jsonData.content}</p>
    </div>
  );
}

这种方法直接将 JSON 数据作为一个变量或常量引入到 React 组件中,可以直接使用 JSON 数据的属性进行渲染,例如:jsonData.title

2、通过 HTTP 请求从后端获取 JSON 数据。

用 Axios 库来发送 HTTP 请求获取 JSON 数据

js 复制代码
import React, { useState, useEffect } from 'react';
import axios from 'axios';

function MyComponent() {
  const [jsonData, setJsonData] = useState({});

  useEffect(() => {
    axios.get('/api/data').then((response) => {
      setJsonData(response.data);
    });
  }, []);

  return (
    <div>
      <h1>{jsonData.title}</h1>
      <p>{jsonData.content}</p>
    </div>
  );
}

用 Fetch 来发送 HTTP 请求获取 JSON 数据

js 复制代码
import React, { useState, useEffect } from 'react';

function MyComponent() {
  const [jsonData, setJsonData] = useState({});

  useEffect(() => {
    fetch('./data.json')
      .then(response => response.json())
      .then(data => setJsonData(data));
  }, []);

  return (
    <div>
      <h1>{jsonData.title}</h1>
      <p>{jsonData.content}</p>
    </div>
  );
}

这种方法是通过发送 HTTP 请求获取后端的 JSON 数据,通常使用 Fetch 或 Axios 等库来发送 HTTP 请求。在组件的 state 中保存 JSON 数据,当获取到 JSON 数据时更新 state,然后使用 JSON 数据进行渲染。

3、将 JSON 数据作为 props 从父组件传递给子组件。

js 复制代码
/* 父组件 */
function ParentComponent() {
  const jsonData = { title: 'Hello', content: 'World' };
  return <ChildComponent jsonData={jsonData} />;
}

/* 子组件 */
function ChildComponent(props) {
  return (
    <div>
      <h1>{props.jsonData.title}</h1>
      <p>{props.jsonData.content}</p>
    </div>
  );
}

这种方法是将 JSON 数据作为 props 从父组件传递给子组件,在子组件中直接使用 props 中的 JSON 数据进行渲染。

4、通过 import 引入一个包含 JSON 数据的 JS 文件。

React 组件

js 复制代码
import jsonData from './data.js';

function MyComponent() {
  return (
    <div>
      <h1>{jsonData.title}</h1>
      <p>{jsonData.content}</p>
    </div>
  );
}

data.js 文件

js 复制代码
const jsonData = {
  title: 'Hello',
  content: 'World'
};

export default jsonData;

这种方法是将 JSON 数据保存在一个 JS 文件中,然后通过 import 引入到 React 组件中。在组件中直接使用 import 引入的变量或常量来渲染 JSON 数据。

5、将JSON数据保存在组件的state中,并在组件中进行处理。

js 复制代码
import React, { useState } from 'react';

function MyComponent() {
  const [jsonData, setJsonData] = useState({ title: '', content: '' });

  function handleJsonData() {
    // 处理JSON数据
  }

  return (
    <div>
      <h1>{jsonData.title}</h1>
      <p>{jsonData.content}</p>
    </div>
  );
}

这种方法是将 JSON 数据保存在组件的 state 中,然后在组件中进行处理。通过 useState Hook 来创建 state,并使用 setState 函数来更新 state

在组件中处理 JSON 数据,然后使用 JSON 数据进行渲染。


以上这5种方法都可以用来在 React 组件中使用 JSON 数据,不同的方法适用于不同的场景和需求。

在项目中根据实际需求来选择最适合的方法。


1\] [阅读原文](https://mp.weixin.qq.com/s/l5atZAzoZRs5u3Z7-ewqVw) 大家好!我是 Just,这里是\[ 设计师工作日常 \],求点赞求关注!!!

相关推荐
liangshanbo12151 小时前
写好 React useEffect 的终极指南
前端·javascript·react.js
_院长大人_4 小时前
el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
前端·javascript·vue.js
SevgiliD4 小时前
el-table中控制单列内容多行超出省略及tooltip
javascript·vue.js·elementui
要加油哦~4 小时前
JS | 知识点总结 - 原型链
开发语言·javascript·原型模式
阿珊和她的猫5 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
爱看书的小沐6 小时前
【小沐杂货铺】基于Three.js渲染三维风力发电机(WebGL、vue、react、WindTurbine)
javascript·vue.js·webgl·three.js·opengl·风力发电机·windturbine
qq_398586546 小时前
Threejs入门学习笔记
javascript·笔记·学习
浪裡遊7 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
課代表7 小时前
JavaScript 二维数组的三种定义与初始化方法
javascript·初始化·二维数组·多维数组·动态数组·循环遍历·数组合并
鸡吃丸子8 小时前
Next.js 入门指南
开发语言·javascript·next.js