React常用方法汇总【更新中】

文章目录

  • 前言
  • 创建项目
  • 启动命令
  • 列表渲染
  • 父子组件传值
  • useEffect 异步函数使用方法
  • useEffect 异步函数清除方法
  • 控制组件显示隐藏
  • axios 安装使用


前言

运行 react 需要先安装 node.js,具体安装步骤可以参考这篇文章 https://blog.csdn.net/weixin_43721000/article/details/134284418


创建项目

npx create-react-app <项目名称>
# npx create-react-app my-app

启动命令

先 cd 到项目目录下

npm start

列表渲染

import React, { useState } from "react"function App() {const [artList, setArtList] = useState([{'id': 1, 'title': '百年孤独', 'author': '马尔克斯'},{'id': 2, 'title': '老人与海', 'author': '海明威'}])return (<div>{artList.map(item =><li key={item.id}>{item.title}{item.author}</li>)}</div>);
}export default App;

在这里插入图片描述


父子组件传值

  1. 父传子
    import React from "react"// 子组件
    function SonElm(props) {return (<div style={{background: "#888", padding: "10px", width: "200px"}}>子组件: {props.msg}</div>)}// 父组件
    function FatherElm() {const msg = '父组件传递的消息'return (<div style={{background: "#aaa", padding: "10px", width: "240px"}}>父组件<SonElm msg={msg}/>   </div>)
    }function App() {return (<React.Fragment><FatherElm/></React.Fragment>);
    }export default App;
    

在这里插入图片描述

  1. 子传父
    todo

useEffect 异步函数使用方法

useEffect 是异步函数,有三种不同的执行方式:

  1. 监听到页面发生变动就执行此方法
    useEffect(() => {console.log('页面发生变动就执行此方法')
    })
    
  2. 立即执行,且仅执行一次
    useEffect(() => {console.log('仅执行一次')
    }, [])
    
  3. 监听到某个变量产生变化时就执行
    const [count, setCount] = useCount(233)
    useEffect(() => {console.log('count值发生变化时执行')
    }, [count])
    

useEffect 异步函数清除方法

useEffect 函数执行后,可以通过以下几种情况终止执行

  1. 当前组件销毁时终止执行
    useEffect(() => {// 执行逻辑const timer = setInerval(() => {console.log('定时器执行中')}, 1000) // 此方法会在 useEffect 所在组件被销毁时执行return () => {// 清除逻辑clearInterval(timer)}}, [])
    
  2. todo

控制组件显示隐藏

import React, { useState } from "react"// 显示隐藏的组件
function UserInfoElm() {return (<div><p>姓名:小王</p><p>手机号:138xxxxxxxx</p><p>性别:女</p></div>)
}// 控制显示隐藏的方法
function App() {const [isShow, setIsShow] = useState(true)const toggleSwitch = () => setIsShow(!isShow)return (<div>{isShow && <UserInfoElm/>}<button onClick={toggleSwitch}>点击 显示/隐藏 用户信息</button></div>);
}export default App;

axios 安装使用

  • 安装方法
    npm install axios
    
  • 使用方法
    1. 后端返回数据结构
      {"code": 1,"msg": "好耶","data": [{"id": 1,"title": "百年孤独","author": "马尔克斯"}, {"id": 2,"title": "老人与海","author": "海明威"}]
      }
      
    2. 前端调用代码
      import axios from "axios";
      import React, { useEffect, useState } from "react"function App() {const [artList, setArtList] = useState([])// 异步执行,立即执行,仅执行一次useEffect(() => {// 定义请求数据的方法async function getArtList() {const res = await axios.get('http://127.0.0.1:11237/get_art_list')setArtList(res.data.data)  // axios 返回的数据会额外封装一层 data}// 调用getArtList()}, [])// 列表渲染return (<div>{artList.map(item =><li key={item.id}>{item.title}{item.author}</li>)}</div>);
      }export default App;
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/357215.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于vue3 + ant-design 使用阿里图标库iconfont.cn

对于使用 iconfont.cn 的用户&#xff0c;通过设置 createFromIconfontCN 方法参数对象中的 scriptUrl 字段&#xff0c; 即可轻松地使用已有项目中的图标。 组件封装 IconFont <template><IconFont :type"iconType" /> </template><script se…

vscode配置vue格式化代码不管用

所有配置都配好了就是无法使用自己想要的vetur格式化代码 后台发现调整默认格式化代码的顺序就可以&#xff0c; 修改该后就可以了

ChatGPT Plus GPT-4o Claude 3 Opus合租拼车全新方式

无需自己搭建&#xff0c;登录即可用&#xff0c;国内直连访问&#xff0c;聚合多家最强大模型&#xff0c;随意选择使用。立即体验 datapipe.top 支持 OpenAI 最新 GPT-4o &#xff0c;获得快速高质量的对话&#xff0c;保证可用配额。支持多种大模型&#xff0c;GPT-4o &…

【漏洞复现】Rejetto HTTP File Server 远程代码执行漏洞 (CVE-2024-23692)

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

[MQTT]Mosquitto的權限管理_使用者/密碼(pwfile)和訪問控制清單(aclfile)

延續Mosquitto的內網連接(intranet)和使用者/密碼權限設置文章&#xff0c;經解讀mosquitto官網文檔&#xff0c;在權限管理部分&#xff0c;除了設置使用者/密碼(pwfile)之外&#xff0c;還有訪問控制清單(Access Control List, aclfile)可以設置。經過測試&#xff0c;同時設…

C#实现音乐在线播放和下载——Windows程序设计作业3

1. 作业内容 编写一个C#程序&#xff0c;在作业二实现的本地播放功能的基础上&#xff0c;新增在线播放和在线下载功能&#xff0c;作业二博客地址&#xff1a;C#实现简单音乐文件解析播放——Windows程序设计作业2 2. 架构选择 考虑到需求中的界面友好和跨版本兼容性&#xf…

BookSim2 安装步骤教程 Network-on-Chips (NoCs) 片上网络模拟器 含视频

BookSim简介 BookSim2 一个用于Network-on-Chips (NoCs) 芯片上网络的周期精确模拟器。该模拟器的设计是为了实现网络组件的模拟灵活性和精确建模。 BookSim1 是一个通用的网络模拟器&#xff0c;并不专门针对片上环境。不支持在片上网络环境中提出的一些更先进的功能和拓扑…

网络通信架构

BS架构/CS架构 使用协议分别对应&#xff1a; TCP / HTTP 在计算机网络和软件开发中&#xff0c;CS架构&#xff08;Client-Server Architecture&#xff0c;客户端-服务器架构&#xff09;和BS架构&#xff08;Browser-Server Architecture&#xff0c;浏览器-服务器架构&am…

03-ES6新语法

1. ES6 函数 1.1 函数参数的扩展 1.1.1 默认参数 function fun(name,age17){console.log(name","age); } fn("张美丽",18); // "张美丽",18 fn("张美丽",""); // "张美丽" fn("张美丽"); // &…

直流电机三级串电阻启动

直流电动机在工农业生产中拥有广泛的应用&#xff0c;这主要得益于其调速范围广、调速平稳、过载能力强以及启动和制动转矩大的优点。为了降低起动电流和起动转矩&#xff0c;研究者们探索了直流电动机串电阻起动方法。这种方法通过在直流电动机电枢绕组中串入电阻&#xff0c;…

【软件设计】详细设计说明书(word原件,项目直接套用)

软件详细设计说明书 1.系统总体设计 2.性能设计 3.系统功能模块详细设计 4.数据库设计 5.接口设计 6.系统出错处理设计 7.系统处理规定 软件全套资料&#xff1a;本文末个人名片直接获取或者进主页。

第二十一章 访问者模式

目录 1 访问者模式介绍 2 访问者模式原理 3 访问者模式实现 4 访问者模式总结 1 访问者模式介绍 访问者模式(Visitor Pattern) 的原始定义是&#xff1a;允许在运行时将一个或多个操作应用于一组对象&#xff0c;将操作与对象结构分离 2 访问者模式原理 抽象访问者&#xf…

深入讲解C++基础知识(一)

目录 一、基本内置类型1. 类型的作用2. 分类3. 整型3.1 内存描述及查询3.2 布尔类型 —— bool3.3 字符类型 —— char3.4 其他整型 4. 有符号类型和无符号类型5. 浮点型6. 如何选择类型7. 类型转换7.1 自动类型转换7.2 强制类型转换7.3 类型转换总结 8. 类型溢出8.1 注意事项 …

YOLOv9基础 | 实时目标检测新SOTA,手把手带你深度解析yolov9论文!

前言:Hello大家好,我是小哥谈。YOLOv9是Chien-Yao Wang等人提出的YOLO系列的最新版本之一(截止到目前,YOLOv10已发布),于2024年2月21日发布。它是 YOLOv7的改进版本,两者均由Chien-Yao Wang及其同事开发。本节课就以YOLOv9论文为基础带大家深入解析YOLOv9算法。🌈 …

UE4引擎支持HTML5

文章目录 目的UE版本html5版本编译HTML5小结目的 本篇文章主要写下UE4如何编译支持HTML5,至于为什么是UE4而不是UE5,或者一些其他的话题,本篇不做讨论。 UE版本 先来看看UE的版本管理,如下图:有大概70个分支,有些还在维护,有些还在升级;tags有200多个,很可能还会增…

[Redis]持久化机制

众所周知&#xff0c;Redis是内存数据库&#xff0c;也就是把数据存在内存上&#xff0c;读写速度很快&#xff0c;但是&#xff0c;内存的数据容易丢失&#xff0c;为了数据的持久性&#xff0c;还得把数据存储到硬盘上 也就是说&#xff0c;内存有一份数据&#xff0c;硬盘也…

Linux驱动开发笔记(十三)Sysfs文件系统

文章目录 前言一、Sysfs1.1 Sysfs的引入1.2 Sysfs的目录结构1.2 Sysfs的目录详解1.2.1 devices1.2.2 bus1.2.3 class1.2.4 devices、bus、class目录之间的关系1.2.5 其他子目录 二、Sysfs使用2.1 核心数据结构2.2 相关函数2.2.1 kobject_create_and_add2.2.2 kobject_put()2.2.…

AIGC时代的英语教育:人工智能会取代英语老师吗?

在当前AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;时代&#xff0c;人工智能技术正在迅速发展并渗透到各个领域&#xff0c;其中包括英语教育。面对这一趋势&#xff0c;许多人担心人工智能会取代传统的英语教师。然而&#xff0c;本文将探讨人工智…

RocketMQ源码学习笔记:Broker启动流程

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Broker启动流程2、一些重要的类2.1、MappedFile2.2、MessgeStore2.3、MessageStore的加载启动流程 3、技术亮点3.1、 内存映射3.1.1、简介3.1.2、源码 1、Broker启动流程 Broker启动流程…

Python数据容器

容器定义列表 list定义下标索引列表的方法查询指定元素的下标 index(元素)修改指定下标的元素值插入元素 insert(index,元素)追加一个元素 append(元素)追加一批元素 extend(容器)删除指定下标的元素删除指定元素的第一次出现 remove(元素)清空列表 clear()统计列表中指定元素的…