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

宁夏公路建设局网站企业建网站的 程序

宁夏公路建设局网站,企业建网站的 程序,广州市移动网站建设服务公司,建站公司山东济南兴田德润简介1. 语法定义 const [state, dispatch] useState(initData) state:定义的数据源,可视作一个函数组件内部的变量,但只在首次渲染被创造。 dispatch:改变state的函数,推动函数渲染的渲染函数,有非函数和函…

 1. 语法定义

const [state, dispatch] = useState(initData)

state:定义的数据源,可视作一个函数组件内部的变量,但只在首次渲染被创造。

dispatch:改变state的函数,推动函数渲染的渲染函数,有非函数和函数两种情况。

initData:state的初始值,有非函数和函数两种情况。

2. 使用案例

1. 变量的定义和修改

import { useState } from 'react'// 定义变量
const [name, setName] = useState('Vue')// 修改变量
const handleUpdate = () => {setName('React')
}

2. 对象的定义和修改

import { useState } from 'react'// 定义对象
const [user, setUser] = useState({ name: '张三', age: 30 })// 修改对象
const handleUser = () => {// setUser({ name: '李四', age: 50 })setUser({ ...user, age: 50 })
}

3. 数组的定义和修改

import { useState } from 'react'// 定义数组
const [list, setList] = useState(['Tom', 'Jack']);// 修改数组
const handleList = () => {setList([...list, 'Lily'])
}

4. 声明时添加逻辑返回

import { useState } from 'react'const num = 1;// 声明通过函数返回
const [name ,setName] = useState(()=>{if(num==1){return "这是单数"}else{return "这是双数"}
})

5. 更新时添加逻辑返回


import { useState } from 'react'// 定义变量
const [count, setCount] = useState(0);// 修改变量
const handleCount = () => {// 通过函数返回setCount((count) => count + 1)}

3. 异步更新

React是异步更新,它会将多次更新合并到一起。

import { useState } from 'react'// 定义变量
const [count, setCount] = useState(0);// 修改变量
const handleCount = () => {setCount(count => count + 1)setCount(count => count + 1)setCount(count => count + 1)setCount(count => count + 1)
}

由于React是异步合并更新,上面调用了4次setCount会统一合并,值会变为4,但只会渲染一次。

如果想要强制刷新渲染,可以使用flushSync函数提高优级,这样就会又渲染一次。

import { useState } from 'react'import { flushSync } from 'react-dom'// 定义变量
const [count, setCount] = useState(0);// 修改变量
const handleCount = () => {// setCount(count => count + 1)// setCount(count => count + 1)// setCount(count => count + 1)// setCount(count => count + 1)// 合并批量更新渲染一次setTimeout(() => {setCount(count => count + 1)setCount(count => count + 1)setCount(count => count + 1)setCount(count => count + 1)})// 强制更新渲染一次flushSync(() => {setCount(count => count + 1)setCount(count => count + 1)})}

http://www.yayakq.cn/news/657043/

相关文章:

  • 网站的优化与网站建设有关吗江苏建设教育网首页
  • 行业推广做哪个网站好南昌网站建设如何
  • 湘潭网站建设 都来磐石网络网站seo 文章转载 修改标题
  • 巢湖网站建设费用网站建设企业宣传口号
  • 网站页面设计有哪些可以接单包工的平台
  • seo网站推广怎样公众号平台制作
  • 网站强制字体wordpress京东商城平台商户
  • seo技术 如何优化网站内部结构郑州市建网站
  • 重庆网站建设 熊掌号个人网站模板源码下载
  • 手机网站模板psd开发公司空置房拨款合同
  • 怎么网站建设多少钱网站开发相关的教材书籍
  • 网站空间的配置php多语言网站开发
  • 中山精品网站建设案例国内企业网站设计公司
  • 顶尖的郑州网站建设做网站的公司有哪些
  • 陶瓷网站建设西安外贸建站
  • 网站图片设计制作建站之星平台
  • 网站建设有什么岗位职责城乡与建设部网站
  • 河南华盛建设集团网站如何搭建一个视频网站
  • 网站添加视频传媒公司运营是干嘛的
  • 软件开发过程的阶段划分廊坊首页霸屏排名优化
  • 河南郑州建设网站wordpress展现备案号
  • 做封面的网站网站推广策划方案和网站推广执行方案的区别
  • 手机怎么访问wap网站线上免费编程课
  • 济宁网站优化公司西安是哪个省市
  • 开网站 怎么做网上支付seo研究院
  • 学校网站建设特色哪里可以学做资料员的网站
  • android开发菜鸟教程如何优化网站性能
  • 网站怎样注册备案互联网项目推广
  • 哪个网站亲子游做的好网网站开发设计
  • 吉林做网站公司浙江网站建设价位