国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

react hook問(wèn)題記錄(持續(xù)更新)

這篇具有很好參考價(jià)值的文章主要介紹了react hook問(wèn)題記錄(持續(xù)更新)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在使用react hook時(shí)候的一些問(wèn)題記錄

實(shí)際使用react hook的時(shí)候遇到的一些問(wèn)題記錄下來(lái)了,溫故而知新。

問(wèn)題1:useState已經(jīng)重新賦值了,但是拿到的還是之前的值

例子1:界面上有個(gè)按鈕,點(diǎn)擊按鈕界面上數(shù)值會(huì)增加1和2

const Test = () => {
   const [arr, setArr] = useState([0]);
   const handleClick = () => {
        Promise.resolve()
        	.then(() => {
        			setArr([...arr, 1)];
        	}
        	.then(() => {
        			setArr([...arr,  2)];
        	}
   }
   return (
   		<div>
   				{arr.toString()}
   				<button onClick={handleClick}>按鈕</button>
   		</div>
   )
}

但是實(shí)際的結(jié)果是:
點(diǎn)擊按鈕,界面展示的是 0,2。跟預(yù)期需要展示的0,1,2不一樣

例子2:點(diǎn)擊按鈕,執(zhí)行三次setState,希望加3

const [count, setCount] = useState(0);

function handleClick() {
	setCount(count + 1);
	setCount(count + 1);
	setCount(count + 1);
}

但是實(shí)際的結(jié)果是:
點(diǎn)擊按鈕,界面展示的是1。跟預(yù)期需要展示的3不一樣

原因
組件內(nèi)部的任何函數(shù),包括事件處理函數(shù)和Effect,都是從它被創(chuàng)建的那次渲染中被看到的,所以引用的值都是舊的(沒(méi)找到原文出處,所以對(duì)“看到”這個(gè)詞表示疑惑),理解為:因?yàn)榻缑鏇](méi)有重新渲染,執(zhí)行的函數(shù)作用域還是舊的,所以里面值的引用還是之前的,所以即使多次執(zhí)行,拿到的都是舊值,會(huì)導(dǎo)致界面展示出現(xiàn)異常。

直接在handleClick里面打印count,展示的還是上一次的值,不是最新的值,這個(gè)由react的調(diào)度機(jī)制決定的。

修改建議:利用state hook參數(shù)可以是回調(diào)函數(shù)進(jìn)行解決;或者可以用ref,但是ref記錄值不太靈活,所以還是建議回調(diào)函數(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-791600.html

 setArr([...arr,  2)]; 
 
 --------------變更成-------------
 setArr((arr) => {
 	return [...arr, 2];
 }

到了這里,關(guān)于react hook問(wèn)題記錄(持續(xù)更新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端常用的一些插件、UI框架、js庫(kù),樣式庫(kù)以及官方文檔。【持續(xù)更新】

    前端常用的一些插件、UI框架、js庫(kù),樣式庫(kù)以及官方文檔。【持續(xù)更新】

    1.1 文檔地址 API文檔 1.2 安裝教程 1.下載安裝 2.導(dǎo)入 2.1 文檔地址 API文檔 2.2 安裝教程 1.下載安裝 2.導(dǎo)入 3.1 文檔地址 API文檔 3.2 安裝教程 1.下載安裝 2.導(dǎo)入 3.安裝遇到的問(wèn)題 1)描述 ① 控制臺(tái)報(bào)錯(cuò) ② 終端報(bào)錯(cuò) 輸出的內(nèi)容都是 \\\"export xxx was not found in \\\'vue\\\' 2)解決 ① 先卸載 ya

    2024年02月03日
    瀏覽(56)
  • node.js系列-常見(jiàn)問(wèn)題處理方案(持續(xù)更新)

    node.js系列-常見(jiàn)問(wèn)題處理方案(持續(xù)更新)

    `` 瀏覽器中我們可以這樣使用: node.js中實(shí)現(xiàn)方案 解決方案: 修改eslint配置文件 , 舉個(gè)栗子:.eslintrc.js 使用方案 今天就寫(xiě)到這里啦~ 小伙伴們,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我們明天再見(jiàn)啦~~ 大家要天天開(kāi)心哦 歡迎大家指出文章需要改正之處~ 學(xué)無(wú)止境,合作共贏 歡迎路過(guò)

    2024年02月14日
    瀏覽(63)
  • 2023年最新前端面試題匯總大全二(含答案超詳細(xì),Vue,TypeScript,React,微信小程序,Webpack 匯總篇)-- 持續(xù)更新

    2023年最新前端面試題匯總大全二(含答案超詳細(xì),Vue,TypeScript,React,微信小程序,Webpack 匯總篇)-- 持續(xù)更新

    HTML篇 CSS篇 JS篇 Vue篇 TpeScript篇 React篇 微信小程序篇 前端面試題匯總大全(含答案超詳細(xì),HTML,JS,CSS匯總篇)-- 持續(xù)更新 1. 談?wù)勀銓?duì)MVVM開(kāi)發(fā)模式的理解? MVVM是一種簡(jiǎn)化用戶界面的 實(shí)踐驅(qū)動(dòng)編程方式 。在當(dāng)前主流的前后端分離的開(kāi)發(fā)模式中,MVVM模式的優(yōu)越性日益體現(xiàn),相較

    2024年02月10日
    瀏覽(42)
  • Mars3D使用過(guò)程遇到的問(wèn)題記錄【持續(xù)更新】

    需要標(biāo)注線面的角度heading 2022年6月23日 heading計(jì)算方式: https://turfjs.fenxianglu.cn/ 計(jì)算兩點(diǎn)之間的角度 直接F12在控制臺(tái)可以計(jì)算 eg: 加載gltf模型,模型是透明的,需要改為不透明 2022年6月23日 用文本編輯器打開(kāi).gltf,把里面的\\\"alphaMode\\\":\\\"BLEND\\\"改成\\\"alphaMode\\\":\\\"OPAQUE\\\" 模型旋轉(zhuǎn)之后,標(biāo)

    2024年02月08日
    瀏覽(30)
  • 2023年最新前端面試題匯總大全(含答案超詳細(xì),HTML,JS,CSS匯總篇)-- 持續(xù)更新

    2023年最新前端面試題匯總大全(含答案超詳細(xì),HTML,JS,CSS匯總篇)-- 持續(xù)更新

    專項(xiàng)練習(xí)–持續(xù)更新 HTML篇 CSS篇 JS篇 Vue篇 TypeScript篇 React篇 微信小程序篇 前端面試題匯總大全二(含答案超詳細(xì),Vue,TypeScript,React,微信小程序,Webpack 匯總篇)-- 持續(xù)更新 1.xhtml和html有什么區(qū)別 功能上 主要是 XHTML 可兼容各大瀏覽器、手機(jī)以及 PDA ,并且瀏覽器也能快速

    2024年02月12日
    瀏覽(38)
  • iOS問(wèn)題記錄 - Xcode 15安裝低版本iOS模擬器(持續(xù)更新)

    iOS問(wèn)題記錄 - Xcode 15安裝低版本iOS模擬器(持續(xù)更新)

    最近新需求很多,項(xiàng)目改動(dòng)很大,開(kāi)發(fā)完成后想測(cè)一遍在低版本iOS系統(tǒng)上的兼容性,沒(méi)想到低版本的iOS模擬器設(shè)備突然無(wú)法創(chuàng)建了。 在去年年底我研究過(guò)這個(gè)問(wèn)題,寫(xiě)下了這篇文章iOS問(wèn)題記錄 - Xcode 14安裝低版本iOS模擬器(持續(xù)更新),雖然當(dāng)時(shí)沒(méi)有完全解決,但暫時(shí)也夠用

    2024年02月13日
    瀏覽(25)
  • iOS問(wèn)題記錄 - Xcode 14安裝低版本iOS模擬器(持續(xù)更新)

    iOS問(wèn)題記錄 - Xcode 14安裝低版本iOS模擬器(持續(xù)更新)

    最近客服跟我反饋說(shuō),有一個(gè)用戶打開(kāi)老項(xiàng)目的iOS App閃退,我回顧了下這項(xiàng)目上次發(fā)布改了啥,發(fā)現(xiàn)就改了一些文本和鏈接,這就很奇怪。到后臺(tái)查了下這個(gè)用戶的設(shè)備信息和應(yīng)用版本,用的是手機(jī)型號(hào)是iPhone X,系統(tǒng)版本是iOS 11.2,以及最新版的應(yīng)用。 很長(zhǎng)時(shí)間都忙著Flu

    2024年02月15日
    瀏覽(24)
  • 持續(xù)不斷更新中... 自己整理的一些前端知識(shí)點(diǎn)以及前端面試題,包括vue2,vue3,js,ts,css,微信小程序等

    答: 在普通的前端項(xiàng)目工程中,在script標(biāo)簽中增加setup即可使用api 使用setup()鉤子函數(shù) 答: 不要在計(jì)算屬性中進(jìn)行異步請(qǐng)求或者更改DOM 不要直接修改computed的值 區(qū)別: 計(jì)算屬性值基于其響應(yīng)式依賴被緩存,意思就是只要他之前的依賴不發(fā)生變化,那么調(diào)用他只會(huì)返回之前緩

    2024年02月11日
    瀏覽(58)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十二)——React Hooks的介紹

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十二)——React Hooks的介紹

    Hook 是 React 16.8 的新增特性,它可以讓我們?cè)诓痪帉?xiě)class的情況下使用state以及其他的React特性(比如生命周期)。 class組件 VS 函數(shù)式組件: class的優(yōu)勢(shì): class組件可以定義自己的state,用來(lái)保存組件自己內(nèi)部的狀態(tài);而函數(shù)式組件不可以,因?yàn)楹瘮?shù)每次調(diào)用都會(huì)產(chǎn)生新的臨時(shí)

    2024年02月14日
    瀏覽(33)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十三)——Effect Hook

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十三)——Effect Hook

    Effect Hook 用來(lái)完成一些類似class中生命周期的功能。 在使用類組件時(shí),不管是渲染、網(wǎng)路請(qǐng)求還是操作DOM,其邏輯和代碼是雜糅在一起的。例如我們希望把計(jì)數(shù)器結(jié)果顯示在標(biāo)簽上,在類組件中,我們通過(guò)生命周期進(jìn)行實(shí)現(xiàn),如下所示: 在函數(shù)組件中,我們可以利用useEffec

    2024年02月14日
    瀏覽(39)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包