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

酷炫的网站欢迎页面wordpress 推广插件

酷炫的网站欢迎页面,wordpress 推广插件,关于网站图片,网站发布小说封面怎么做useLayoutEffect useLayoutEffect 是 React 中的一个 Hook#xff0c;用于在浏览器重新绘制屏幕之前触发。与 useEffect 类似。 用法 useLayoutEffect(() {// 副作用代码return () {// 清理代码}}, [dependencies]);参数 setup#xff1a;Effect处理函数,可以返回…useLayoutEffect useLayoutEffect 是 React 中的一个 Hook用于在浏览器重新绘制屏幕之前触发。与 useEffect 类似。 用法 useLayoutEffect(() {// 副作用代码return () {// 清理代码}}, [dependencies]); 参数 setupEffect处理函数,可以返回一个清理函数。组件挂载时执行setup,依赖项更新时先执行cleanup再执行setup,组件卸载时执行cleanup。 dependencies(可选)setup中使用到的响应式值列表(props、state等)。必须以数组形式编写如[dep1, dep2]。不传则每次重渲染都执行Effect。 返回值 useLayoutEffect 返回 undefined 区别(useLayoutEffect/useEffect) 区别useLayoutEffectuseEffect执行时机浏览器完成布局和绘制之前执行副作用浏览器完成布局和绘制之后执行副作用执行方式同步执行异步执行DOM渲染阻塞DOM渲染不阻塞DOM渲染 测试DOM阻塞 下面这个例子展示了 useLayoutEffect 和 useEffect 在DOM渲染时的区别。useLayoutEffect 会阻塞DOM渲染,而 useEffect 不会。 import React, { useLayoutEffect, useEffect, useState } from react;function App() {const [count, setCount] useState(0)//不阻塞DOM// useEffect(() {// for (let i 0; i 50000; i) {// //console.log(i);// setCount(count count 1)// }// }, []);//阻塞DOM// useLayoutEffect(() {// for (let i 0; i 50000; i) {// //console.log(i);// setCount(count count 1)// }// }, []);return (divdivapp /div{Array.from({ length: count }).map((_, index) (div key{index}{index}/div))}/div);}export default App; 测试同步异步渲染 在下面的动画示例代码中: useEffect 实现的动画效果: 初始渲染时 opacity: 0 浏览器完成绘制 useEffect 异步执行,设置 opacity: 1 用户可以看到完整的淡入动画过渡效果 useLayoutEffect 实现的动画效果: 初始渲染时 opacity: 0 DOM 更新后立即同步执行 useLayoutEffect 设置 opacity: 1 浏览器绘制时已经是最终状态 用户看不到过渡动画效果 #app1 {width: 200px;height: 200px;background: red;}#app2 {width: 200px;height: 200px;background: blue;margin-top: 20px;position: absolute;top: 230px;} import React, { useLayoutEffect, useEffect, useRef } from react;function App() {// 使用 useEffect 实现动画效果useEffect(() {const app1 document.getElementById(app1) as HTMLDivElement;app1.style.transition opacity 3s;app1.style.opacity 1;}, []);// 使用 useLayoutEffect 实现动画效果useLayoutEffect(() {const app2 document.getElementById(app2) as HTMLDivElement;app2.style.transition opacity 3s;app2.style.opacity 1;}, []);return (divdiv idapp1 style{{ opacity: 0 }}app1/divdiv idapp2 style{{ opacity: 0 }}app2/div/div);}export default App; 应用场景 需要同步读取或更改DOM例如你需要读取元素的大小或位置并在渲染前进行调整。 防止闪烁在某些情况下异步的useEffect可能会导致可见的布局跳动或闪烁。例如动画的启动或某些可见的快速DOM更改。 模拟生命周期方法如果你正在将旧的类组件迁移到功能组件并需要模拟 componentDidMount、componentDidUpdate和componentWillUnmount的同步行为。 案例 可以记录滚动条位置等用户返回这个页面时滚动到之前记录的位置。增强用户体验。 import React, { useLayoutEffect, useRef } from react;function App() {useLayoutEffect(() {const list document.getElementById(list) as HTMLUListElement;list.scrollTop 900}, []);return (ul idlist style{{ height: 500px, overflowY: scroll }}{Array.from({ length: 500 }, (_, i) (li key{i}Item {i 1}/li))}/ul);}export default App;
http://www.w-s-a.com/news/511785/

相关文章:

  • 上海市建设安全协会网站王夑晟企业网站建设需要做些什么
  • 网站app 开发辽宁建设工程信息网官网新网站是哪个
  • 厦门建设企业网站建设wordpress添加形式
  • 建立什么网站可以赚钱室内设计效果图qq群
  • 厦门网站设计大概多少钱服务公司沈傲芳
  • 如何起手做网站项目百度站长app
  • dede 购物网站wordpress主题超限
  • 做啊录音网站WordPress音乐悬浮插件
  • 安徽建设厅证书查询网网站网站策划与运营课程认知
  • wordpress证书关闭重庆seo优化效果好
  • 直播网站建设模板网站活动怎么做的
  • 医院网站建设网站网站开发工资高嘛
  • 个人网站备案内容写什么做网站是不是涉及很多语言职
  • 怎么用手机做一个网站门户网站建设工作的自查报告
  • 网站搭建怎么收费浙江建设集团网站
  • 建网站怎么赚钱免费引流软件下载
  • 自建网站服务器备案做基础销量的网站
  • 淘宝 网站建设 发货音乐网站首页设计
  • 丽水做网站杭州建电商网站多少钱
  • 建设网站能解决什么问题wordpress 模板 中文
  • 平台型网站建设预算表友情链接中有个网站域名过期了会影响
  • 漯河网站开发运营seo是什么意思
  • 网站建设的征求意见稿iis 网站 红
  • 网站搭建教室企业网站开发实训心得
  • 阿克苏建设网站佛山app定制
  • 做淘宝网站要求与想法大型网站建设推荐
  • 在百度做网站赚钱吗跨境电商网站开发
  • 酒店网站建设策划方案南昌网站建设南昌
  • 临沂罗庄做网站房产cms
  • 五合一网站做优化好用吗网站设计的专业流程