在 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,这里是\[ 设计师工作日常 \],求点赞求关注!!!

相关推荐
!win !1 小时前
前端跨标签页通信方案(下)
前端·javascript
用户47949283569153 小时前
TypeScript 简史:它是怎么拯救我的烂代码的
javascript·typescript
用户47949283569153 小时前
只有前端 Leader 才会告诉你:那些年踩过的模块加载失败的坑(二)
javascript
xw53 小时前
前端跨标签页通信方案(下)
前端·javascript
加洛斯4 小时前
前端小知识003:JS中 == 与 === 的区别
开发语言·前端·javascript
G***E3164 小时前
前端路由懒加载实现,Vue Router与React Router
前端·vue.js·react.js
半桶水专家5 小时前
ES Module 原理详解
前端·javascript
冴羽5 小时前
Cloudflare 崩溃梗图
前端·javascript·vue.js
Jonathan Star5 小时前
JavaScript 中,原型链的**最顶端(终极原型)只有一个——`Object.prototype`
开发语言·javascript·原型模式
前端摸鱼匠6 小时前
Vue 3 的watchEffect函数:介绍watchEffect的基本用法和特点
前端·javascript·vue.js·前端框架·ecmascript