首页 > 其他分享 >在 React 组件中使用 JSON 数据文件,怎么去读取请求数据呢?

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

时间:2023-03-21 22:01:01浏览次数:44  
标签:content 数据文件 title jsonData React JSON 组件 数据

1200_670 5.png

要在 React 组件中使用 JSON 数据,有多种方法。 常用的有以下几种方法:

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

import jsonData from './data.json';

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

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

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

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

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>
      {jsonData.title}
      <p>{jsonData.content}</p>
    </div>
  );
}

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

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>
      {jsonData.title}
      <p>{jsonData.content}</p>
    </div>
  );
}

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

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

/* 父组件 */
function ParentComponent() {
  const jsonData = { title: 'Hello', content: 'World' };

  return <ChildComponent jsonData={jsonData} />;
}

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

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

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

React 组件

import jsonData from './data.js';

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

data.js 文件

const jsonData = {
  title: 'Hello',
  content: 'World'
};

export default jsonData;

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

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

import React, { useState } from 'react';

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

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

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

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


以上这5种方法都可以用来在 React 组件中使用 JSON 数据,不同的方法适用于不同的场景和需求。 在项目中根据实际需求来选择最适合的方法。

标签:content,数据文件,title,jsonData,React,JSON,组件,数据
From: https://blog.51cto.com/liujueyi/6141136

相关文章

  • JS中删除json对象组成的数组中的元素
    vartest=[{"a":"1","b":"2"},{"a":"3","b":"4"},{"a":"5","b":"6"}];//splice(begin,length)//begin:从哪里开始//length:删除几个tes......
  • .net 自定义转换器JsonConverter的使用
    参考官方文档场景描述例如api返回了以下json串(infcode的值有可能时string也可能时number有时候返回时这个{ "infcode":-1, "detail_msg":null}有时后也可能时这个......
  • 第132篇:npm第一次使用自己的包(package-lock.json、package.json文件作用说明)
    好家伙, 1.新建一个文件夹,命名为test 2.下载包npmipanghu-planebattle 空白的文件夹中多了两个文件package-lock.json和package.json说明:package.json......
  • java中xml转json
    publicstaticStringxml2jsonString()throwsJSONException,IOException{InputStreamin=XmlToJson.class.getResourceAsStream("test.xml");Stringxml=I......
  • react 官网学习笔记
    1.元素(html片段)和组件的关系(js函数)2.写组件的方式(function还是class)3.一个括号和两个括号的使用场景{}(获取值/js函数调用){{}}4.props和render都是做什......
  • 【笔记】electron + react + antd
    electronElectron是一个使用JavaScript、HTML和CSS构建桌面应用程序的框架。嵌入Chromium和Node.js到二进制的Electron允许您保持一个JavaScript代码代码库......
  • 初学React useEffect Hook
    ReactHooks是从功能组件访问React的状态和生命周期方法的最佳方式。​​useEffect​​​Hook是一个在渲染之后和每次DOM更新时运行的函数(效果)。在本文中,将讨论一些......
  • react循环与条件判断
    react没有语法糖,循环和条件判断都是通过原生js来实现1.条件判断//三元表达式constgetDiv=(flag)=>{return(<div>XXX</div>{flag?<div>条件1</d......
  • CSharp: read or write json using System.Text.Json
     ///<summary>///温度高低///geovindu///</summary>publicclassHighLowTemps{///<summary>///高///<......
  • react 咻咻咻
    #react必知必会1.函数式组件(简单无状态场景)/class类式组件(复杂有状态场景)2.react思想:状态驱动UI3.组件实例三大核心:refs/props/state4.class=function+hoo......