当前位置: 首页 > news >正文

React Hooks useEffect的使用

          React Native+Taro+Typescript环境下:

import React, { useState, useEffect } from 'react'
import { View, Text, Button } from '@tarojs/components'
import './index.scss'const FlowersCard = ()=>{const [flowerName, setFlowerName] = useState('')const [flowerColor, setFlowerColor] = useState('')// 叶片个数const [bladeNum, setBladeNum] = useState(0)// 1. 无依赖 - 每次渲染后都执行useEffect(() => {console.log('组件渲染完成或组件更新后都会执行!')})// 2. 空依赖数组 - 仅在组件挂载时执行一次useEffect(() => {console.log('组件已挂载')// 模拟API调用const fetchFlowers = async () => {try {// 展示Loading并进行网络请求// 进行网络请求并获取页面中需要的数据setFlowerName(()=>'海棠')setFlowerColor(()=>'pink')setBladeNum(()=>50)} catch (error) {// 在这里隐藏Loading} finally {// 在这里隐藏Loading}}fetchFlowers()// 清理函数 - 组件卸载时执行return () => {console.log('组件即将卸载')}}, [])// 3. 有依赖项 - 当依赖项变化时执行useEffect(()=>{console.log("叶片的数量增加时,即bladeNum值改变时会触发这个函数的调用")}, [bladeNum])const addBladeNumber = ()=>{setBladeNum((preNum)=>{return preNum + 2})}return <View className='container'><Text className='txt'>Flower Name is {flowerName}</Text><Text className='txt'>Flower Color is {flowerColor}</Text><Text className='txt'>flower Blade is {bladeNum}</Text><Button className='btn' onClick={addBladeNumber}>增加叶片数量</Button></View>
}export default FlowersCard

http://www.dtcms.com/a/348426.html

相关文章:

  • React 18+ 并发模式异常
  • Linux服务测试题(DNS,NFS,DHCP,HTTP)
  • pytorch线性回归(二)
  • ⭐CVPR2025 病理分析全能模型 CPath-Omni 横空出世
  • RAG智能问答为什么需要进行Rerank?
  • 春秋云镜 Flarum
  • UCIE Specification详解(二)
  • Linux学习-TCP网络协议
  • 基于springboot的高校后勤保修服务系统/基于android的高校后勤保修服务系统app
  • openFeign用的什么协议,dubbo用的什么协议
  • 【重学MySQL】八十七. 触发器管理全攻略:SHOW TRIGGERS与DROP TRIGGER实战详解
  • k8s下的网络通信之calico与调度
  • MySQL官方C/C++ 接口入门
  • 从栈到堆:深入理解C语言静态与动态链表的创建与管理
  • 利旧小天才儿童电话手表实现“一键寻车”功能
  • 线程整理文档
  • 使用UE5开发《红色警戒3》类战略养成游戏的硬件配置指南
  • 【Spring Cloud 微服务】3.智能路由器——深入理解与配置负载均衡
  • MySQL的更新语句执行过程涉及了哪些文件的写入,衍生了redo、undo、二进制日志在什么时候进行写入
  • 从 JUnit 深入理解 Java 注解与反射机制
  • HarmonyOS NEXT系列之元服务框架ASCF
  • 波兰密码破译机bomba:二战密码战的隐形功臣
  • 深入OpenHarmony OTA硬核升级
  • ComfyUI ZLUDA AMD conda 使用遇到的问题
  • stm32温控大棚测控系统(CO2+温湿度+光照)+仿真
  • Docker 容器(一)
  • 【ansible】5.在受管主机部署文件和Jinja2模板
  • 信誉代币的发行和管理机制是怎样的?
  • 基于角色的访问控制(RBAC)研究与Go语言实现
  • overleaf关于给参考文献添加DOI链接的问题