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

ps设计网站步骤怎么自己做三个一网站

ps设计网站步骤,怎么自己做三个一网站,域名com和cn的区别,西安知名的集团门户网站建设企业文章目录 0. 取消批处理合并更新, render 2次1. 合并更新,setCount(异步更新) 3次相当于1次, count值为12. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为33. 异步更新,获取异步更新的值?useEffect4.利用扩展运算符的形式来解决对象…

文章目录

    • 0. 取消批处理合并更新, render 2次
    • 1. 合并更新,setCount(异步更新) 3次相当于1次, count值为1
    • 2. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为3
    • 3. 异步更新,获取异步更新的值?useEffect
    • 4.利用扩展运算符的形式来解决对象修改的问题
    • 5. 初始值大量计算,优化
    • 小结

用于为函数组件引入状态

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style></style><script src="../react.development.js"></script><script src="../react-dom.development.js"></script><script src="../babel.min.js"></script><script src="../lodash.min.js"></script>
</head><body><div id="app"></div><script type="text/babel">let app = document.querySelector('#app');let root = ReactDOM.createRoot(app);let { flushSync } = ReactDOM;let { useState, useEffect } = React;let Welcome = (props)=>{const initCount = () => {console.log('initCount');return 2*2*2;}// 5. 初始需要大量计算的情况,可以写一个回调函数,这样可以惰性加载函数,只让函数调用一次const [count, setCount] = useState(()=>{return initCount();});const [msg, setMsg] = useState('hello');// 4.利用扩展运算符的形式来解决对象修改的问题// const [info, setInfo] = useState({//   username: 'xiaoming',//   age: 20// })// setInfo({//   ...info,//   username: 'xiaoqiang'// })const handleClick = () => {//0. 取消批处理合并更新, render 2次// flushSync(()=>{//   setCount(count + 1)// })// flushSync(()=>{//   setMsg('hi')// })// 1. 合并更新,setCount(异步更新) 3次相当于1次, count值为1// setCount(count + 1)// setCount(count + 1)// setCount(count + 1)// 2. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次  count值为3// setCount((count)=> count+1)// setCount((count)=> count+1)// setCount((count)=> count+1)// 3. 异步更新,获取异步更新的值?// 在setCount执行后,直接获取值,发现是更新前的值.如何修复?// 在类组件中,是通过setState,的第二个参数,在回调函数中获取同步数据// 函数组件中useState,没有第二个参数获取这个同步更新的值,   需要使用useEffect,监听,获取同步更新的值// 既然要进行自动批处理操作,所以函数是异步的// useState():对应响应式数据的修改函数是没有第二个参数的,所以要监听数据改变后的时机,在函数组件中是通过 useEffect() 来实现的// setCount(count + 1, ()=>{   // ✖//   console.log(count)// })}console.log(123);return (<div><button onClick={handleClick}>点击</button><div>hello world, { count }, { msg }</div></div>);}let element = (<Welcome />);root.render(element)</script>
</body></html>

0. 取消批处理合并更新, render 2次

    // flushSync(()=>{//   setCount(count + 1)// })// flushSync(()=>{//   setMsg('hi')// })

1. 合并更新,setCount(异步更新) 3次相当于1次, count值为1

    // setCount(count + 1)// setCount(count + 1)// setCount(count + 1)

2. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为3

    // setCount((count)=> count+1)// setCount((count)=> count+1)// setCount((count)=> count+1)

3. 异步更新,获取异步更新的值?useEffect

用useEffect监听同步
// 在setCount执行后,直接获取值,发现是更新前的值.如何修复?

    // 在类组件中,是通过setState,的第二个参数,在回调函数中获取同步数据// 函数组件中useState,没有第二个参数获取这个同步更新的值,   需要使用useEffect,监听,获取同步更新的值// 既然要进行自动批处理操作,所以函数是异步的// useState():对应响应式数据的修改函数是没有第二个参数的,所以要监听数据改变后的时机,在函数组件中是通过 useEffect() 来实现的// setCount(count + 1, ()=>{   // ✖//   console.log(count)// })

4.利用扩展运算符的形式来解决对象修改的问题

  // const [info, setInfo] = useState({//   username: 'xiaoming',//   age: 20// })// setInfo({//   ...info,//   username: 'xiaoqiang'// })

5. 初始值大量计算,优化

初始需要大量计算的情况,可以写一个回调函数,这样可以惰性加载函数,只让函数调用一次

  const [count, setCount] = useState(()=>{return initCount();});const [msg, setMsg] = useState('hello');

小结

讨论了下useState会遇到的一些问题,与优化技巧

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

相关文章:

  • 自己做的网站怎么让别人看到app系统软件开发
  • 好的装修网站网站 内容建设存在的问题
  • seo网站分析案例网站建设注意事项知乎
  • 校园失物招领网站建设中国十大咨询机构
  • h5制作报价细则seo门户
  • 推广平台网站制作自己公司产品网站的好处
  • 做平面设计素材的哪个网站好吴江建设局网站打不开
  • 如何制作网站导航抖音视频添加小程序怎么赚钱
  • 一个企业可以做多个网站吗百度推广工资多少钱一个月
  • 网站空间域名每年都得交吗网站建设竞争对手分析
  • 网盘app下载企业seo年度
  • 网站推广策略方法盱眙网站建设公司
  • 免费入驻的外贸网站专业做公司宣传网站
  • 网站怎么做防御微擎 网站开发工具
  • 做一个平台网站的预算天水 网站建设 招聘
  • asp提交到另外网站用excel 做网站
  • 哪些网站需要icp备案怎样查后缀vc域名网站
  • 石家庄房产网站官网基于h5的个人网站建设
  • 网站开发工程师前景怎么样网站开发项目书
  • 网站设计简单讲解北京网站制建设公司
  • 墨刀可以做网站原型图吗我想做服装网站怎么做
  • 五金制品东莞网站建设代做网站排名
  • 做南美生意做什么网站好网站页面架构
  • 做网站定金是多少a链接下载wordpress
  • 怎么自己设置网站模板互联网营销怎么做
  • 网站开发的框架协议南京建设网站多少钱
  • 中象做网站怎么样建筑网片有几种
  • 网站建设做网站好吗wordpress置顶代码
  • 烟台网络公司网站建设东莞住房与城乡建设官网
  • 江苏建新建设集团有限公司网站dw建设个人网站步骤