当前位置: 首页 > Web前端 > JavaScript

Day39-100ReactHookuseEffect的基本使用

时间:2023-03-27 14:13:26 JavaScript

(1)需求最近在学习React,学习了ReactHook,做了useEffectDemo。(2)简介为了避免整体重新渲染消耗性能,当你只想渲染其中的一部分时使用useEffect。useEffect专门用来处理sideeffectcomponentDidMount同理,合并到API.const[reset,setReset]=useState(100)useEffect(()=>{//clearthedataconsolebeforereturnafunctiontoclear数据.log('clearuseEffectdata',reset);setTimeout(()=>{setNum(()=>{returnnum+100});console.log('useEffectsetNum',num);},1000)//模拟Ajax请求},[reset])//需要有监听值,否则会报错(3)CompleteDemo/**@Author:ArdenZhao*@Date:2022-04-1510:33:48*@LastEditTime:2022-04-1511:26:59*@FilePath:/react-ts/src/components/react/8-Hook-useEffect.js*@Description:文件信息*/importReact,{useState,useEffect}from'react';import{Button}from'antd';import"antd/dist/antd.css";functionHookUseEffect(props){//useState不能放在函数内部,这里设置初始值为0const[num,setNum]=useState(0);const[obj,setObj]=useState({a:1});const[refresh,setRefresh]=useState(100)constclickX=()=>{setNum(num+1);}useEffect(()=>{console.log('初始化useE效果',刷新);//设置数(数+1);//在外面一直执行,在里面不执行一半//模拟Ajax请求setTimeout(()=>{setNum(()=>{returnnum+10});},1000)//return()=>{//不需要//console.log('useEffectreturn');//}},[refresh])//需要有监听值,否则不会报错const[reset,setReset]=useState(100)useEffect(()=>{//返回函数之前清空数据清除数据console.log('clearuseEffectdata',reset);setTimeout(()=>{setNum(()=>{returnnum+100});console.log('useEffectsetNum',num);},1000)//模拟Ajax请求},[reset])//需要有监听的值,否则会报错return(

Learn,{props.name}

1.基本用法:{num}

useStateClick+1setRefresh(!refresh)}>useEffectClick+10

2.清除数据位置:{num}-{reset}

setReset(!reset)}>ClickReset
);}exportdefaultHookUseEffect是学习途中最后一句话写的,经常懈怠《有想学技术需要监督的同学嘛~》https://mp.weixin.qq.com/s/Fy...需要小伙伴可以加我微信:learningisconnecting或者关注公众号:国兴聊成长(我会分享生长方式)