日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

7 useLayoutEffect、useDebugValue

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7 useLayoutEffect、useDebugValue 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

useEffect:dom完成渲染后執行

  • 不傳參數,每次都會執行
    傳空的依賴[],只會執行一次
    有依賴,依賴項變化會執行

useEffect實現動畫效果

import { useEffect, useRef, useState } from "react"const App = () => {const [, setCount] = useState({})const refDiv = useRef()useEffect(() => {console.log('執行useEffect')setTimeout(() => {refDiv.current.style.transform = 'translateX(150px)'refDiv.current.style.transition = 'all .9s'}, 1000)// 清理函數 要顯示返回的動畫,上面的函數應延遲一段執行// 否則太快回到150px位置,看不到效果return () => {console.log('執行清理函數')refDiv.current.style.transform = 'translateX(0px)'refDiv.current.style.transition = 'all .9s'}})const styleObj = {width: '50px',height: '50px',background: 'skyblue'}return (<><div style={styleObj} ref={refDiv}></div><button onClick={() => setCount({})}>click</button></>) } export default App

useLayoutEffect

  • 和componentDidMount 和 componentDidUpdate調用階段一致
import { useEffect, useLayoutEffect, useRef, useState } from "react"const App = () => {const [, setCount] = useState({})const refDiv = useRef()useLayoutEffect(() => {console.log('useLayoutEffect渲染前執行')// 若不延遲 在useLayoutEffect看不到移動,而是初始就在150的位置setTimeout(() => {refDiv.current.style.transform = 'translateX(150px)'refDiv.current.style.transition = 'all .9s'}, 1000)return () => {console.log('執行清理函數')refDiv.current.style.transform = 'translateX(0px)'refDiv.current.style.transition = 'all .9s'}})const styleObj = {width: '50px',height: '50px',background: 'skyblue'}return (<><div style={styleObj} ref={refDiv}></div><button onClick={() => setCount({})}>click</button></>) } export default App

useDebugValue

  • 用于在React開發者工具中顯示自定義hook的標簽

自定義hook

import { useEffect, useState } from 'react' // 自定義hook const useCount = params => {const [count, setCount] = useState(0)useEffect(() => {document.title = `${count}次點擊`})return [count, setCount] } const Foo = () => {const [count, setCount] = useCount(0)useEffect(() => {console.log('Foo useEffect')})return (<><h1>{count}</h1><button onClick={() => setCount(count + 1)}>click</button></>) } const App = () => {return <Foo /> } export default App

增加提示效果

總結

以上是生活随笔為你收集整理的7 useLayoutEffect、useDebugValue的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久艹精品 | 九色自拍视频 | 91精品国产色综合久久不卡蜜臀 | 日本少妇xxxxxx| 一级片视频在线观看 | 色妞www精品视频 | 五月婷婷丁香 | 国产精品一区二区欧美 | 一级黄视频| mm131在线| 日韩有码av| 精品国产伦一区二区三区免费 | 国产综合亚洲精品一区二 | 国产一级高清视频 | 亚洲欧洲一区二区在线观看 | 日韩欧美国产中文字幕 | 亚洲自拍成人 | 黄色一级在线观看 | 免费成人精品 | 制服丝袜先锋 | 国产精品毛片久久 | 欧美浓毛大泬视频 | 看毛片看毛片 | 日本丰满大乳奶做爰 | 国产夫妻在线视频 | www.天天操.com | 黄色小视频在线观看免费 | 天天爽夜夜爽夜夜爽 | 天堂新版8中文在线8 | 国产精品久久久久精 | 在线免费观看成年人视频 | 色哟哟精品一区 | 中文字幕在线观看一区二区三区 | 91精品久久久久久综合五月天 | 一卡二卡三卡在线 | 女人下面流白浆的视频 | 中日韩在线观看 | 操一操视频| 国内激情 | 国产视频aaa| 丰满人妻老熟妇伦人精品 | 好男人www在线视频 我们的2018在线观看免费高清 | 国产精品乱码久久久久久 | 午夜影视体验区 | 国产毛片一区二区三区va在线 | 色啊色| 亚洲一区二区三区四区 | 国产欧美精品一区二区在线播放 | 2019日韩中文字幕mv | 国产成人午夜精品无码区久久 | 日韩一区二 | 日本久久一级片 | 日韩福利片在线观看 | 欧美午夜网站 | 免费日批网站 | xxxx国产片 | 鲁片一区二区三区 | 日本东京热一区二区 | 欧美成人高清在线 | 波多野结衣亚洲一区 | 亚洲在线综合 | 五月情网 | 国产福利一区二区三区在线观看 | 国产又爽又黄游戏 | 精品国产网| 国产精彩视频在线观看 | 天天影视亚洲 | 91久久国产综合久久 | 涩涩网站入口 | 伊人狠狠干 | 日韩福利视频在线观看 | 日韩黄色在线视频 | 日韩草逼视频 | 女人叫床很黄很污句子 | 亚洲一区二区三区四区五区午夜 | 鲁一鲁色一色 | 一二三区免费 | 欧美精品在线免费 | av资源吧首页 | 色偷偷成人 | 亚洲不卡免费视频 | 最新av导航 | 国产欧美一区二区三区四区 | 国产福利专区 | 视频二区中文字幕 | 最新91在线 | 热久久精品免费视频 | 色月婷婷| 91精品国产91久久久久福利 | 亚洲精品男人天堂 | 在线无码va中文字幕无码 | 男女啊啊啊视频 | 少妇综合| 午夜涩涩| www.五月婷| 91搞搞| 久久免费看少妇高潮v片特黄 | 国产精品久久久久蜜臀 | 成人99|