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

安徽省工程建设信息网网站有那个网站可以做免费的投票

安徽省工程建设信息网网站,有那个网站可以做免费的投票,自由贸易试验区网站建设方案,有限公司注册流程概要 本文提供一个获取useState状态变化之前旧值的Hook方法usePrevious,以及该方法的基本实现思路, 实现包括TS版和普通JS版。 基本思路 usePrevious的核心原理,在于React Hooks的执行顺序和引用对象(ref)的持久化特…

概要

本文提供一个获取useState状态变化之前旧值的Hook方法usePrevious,以及该方法的基本实现思路, 实现包括TS版和普通JS版。

基本思路

usePrevious的核心原理,在于React Hooks的执行顺序和引用对象(ref)的持久化特性。

基本原理

初始阶段(页面加载):

  1. 组件挂载,useRef初始化一个ref对象,此时ref.curret 的值是undifined或传入的初始值;
  2. 组件渲染,usePrevious 返回undifined或传入的初始值;
  3. 组件渲染完成,执行监听函数useEffect,将ref.current跟新。

触发状态更新阶段:

调用setXX触发状态更新:

  1. 组件开始重新渲染;
  2. usePrevious再次执行,此时:useRef中的数据并未改变,因此返回旧值;所以在组件重新渲染阶段,可以取到旧值;
  3. 组件用新值完成渲染;
  4. 组件渲染完成后执行useEffect,更新ref.curret 。

代码实现

TS 版

import { useEffect, useRef } from "react";
export const usePrevious = <T>(value:T): T | undefined => {const ref = useRef<T>(value);useEffect(()=>{ref.current = value;}, [value]);return ref.current;
} 

JS版

import { useEffect, useRef } from "react";
export function usePrevious(value){const pValue = useRef(value);useEffect(()=>{pValue.current = value;}, [value]);return pValue.current;
}

结论

获取状态变化前的旧值,可以方便我们在普通的方法中,更好的监听响应式数据的变化,以便我们进行数据验证等操作。


文章转载自:

http://w8RA4Bal.bsjxh.cn
http://AdSvGhHQ.bsjxh.cn
http://kjPE93Zm.bsjxh.cn
http://9JO1P3MP.bsjxh.cn
http://kAoQmVaG.bsjxh.cn
http://Ex5jYaPq.bsjxh.cn
http://xU1MeRGo.bsjxh.cn
http://7PNskTsK.bsjxh.cn
http://kDlvx1yw.bsjxh.cn
http://1DBE3XBd.bsjxh.cn
http://W07LLXXF.bsjxh.cn
http://fUtDarDN.bsjxh.cn
http://tk4wsRYd.bsjxh.cn
http://JWADudzp.bsjxh.cn
http://Bzk2hvVO.bsjxh.cn
http://H97ERVbP.bsjxh.cn
http://ReahHHmX.bsjxh.cn
http://306PTk1q.bsjxh.cn
http://A8NiJUL9.bsjxh.cn
http://nxERZAGr.bsjxh.cn
http://phdHGDCj.bsjxh.cn
http://Krp9TzKA.bsjxh.cn
http://8bzqdCTk.bsjxh.cn
http://StmSnmS0.bsjxh.cn
http://7yuEfw6H.bsjxh.cn
http://VmHavqZW.bsjxh.cn
http://FXeTlGwf.bsjxh.cn
http://ksOgf8eR.bsjxh.cn
http://nGszNj4O.bsjxh.cn
http://WoaFf5mH.bsjxh.cn
http://www.dtcms.com/wzjs/648084.html

相关文章:

  • 酒水食品做的好网站长沙经开区建设局网站
  • 做网站买什么品牌笔记本好企业注册邮箱的步骤
  • 怎么建好网站wordpress加入代码行
  • 有什么网站是做办公家具重庆网站建设行业新闻
  • 为什么企业要建设自己的企业文化金昌网站seo
  • 企业建设网站有哪些做网站价格ihanshi
  • 国外h5制作网站优质网站建设服务
  • 做网站看什么书好做网站免费的域名
  • 建设网站如何赚钱php和wordpress
  • 邯郸做网站最好的公司官方网站平台下载
  • 南宁企业建站程序广告营销公司
  • 烟台网站建设求职简历seo平台有哪些
  • 网站安全建设思考h5个人网页制作
  • 网站建设客户需求深圳建设厅官方网站
  • 网站dede后台不备案的网站很慢
  • 扬中网站建设价位网络开发公司简介
  • 网站建设word文档宁波论坛网
  • 淘宝网站图片维护怎么做西安百度推广联系方式
  • wdcp备份网站企业公司如何做网站
  • 家政网站开发利用腾讯云建设网站
  • nas上建设网站wordpress首页文章显示图片
  • 网站通栏广告素材广告制作包括范围
  • 如何做购物网站的后台WordPress找不到站点
  • 自己做模板网站福州手机模板建站
  • 乌兰浩特网站制作江苏建设执业资格注册中心官方网站
  • 企业网站的制作公司2008r2做网站
  • 正规漫画网站开发流程电子商务网站后台需求
  • 建筑设计资料网站重庆项目信息网
  • 做网站的广告图片长春市做网站的公司
  • 电子商务网站建设技能论文简单好看的网页设计代码