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

[react] useState的一些小細(xì)節(jié)

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

1.無限循環(huán)

因?yàn)閟etState修改是異步的,加上會(huì)觸發(fā)函數(shù)重新渲染, 如果代碼長(zhǎng)這樣

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

?一秒再修改,然后重新觸發(fā)setTImeout, 然后再觸發(fā),重復(fù)觸發(fā)循環(huán)

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript


如果這樣呢

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

還是會(huì),因?yàn)槟銏?zhí)行又會(huì)重新渲染?

2.異步修改數(shù)據(jù)

為什么修改多次還是跟不上呢?

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

函數(shù)傳參解決

因?yàn)槭钱惒叫薷?,所以會(huì)出現(xiàn)問題,怎么辦?用傳函數(shù)的形式解決

Component – React 中文文檔[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

改成這種形式

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript?[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

用回調(diào)的方式返回上一個(gè)state的值,這樣就可以解決了,當(dāng)然可以簡(jiǎn)潔些

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

怎么拿最新結(jié)果?

但是最后那個(gè)打印還是拿不到最新的結(jié)果咋辦?

可以用臨時(shí)變量解決

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

?也可以套多一層函數(shù)形式

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

小細(xì)節(jié)

這里數(shù)據(jù)加了幾次,但是只渲染一次,把你要更新的請(qǐng)求合并到一起處理

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

3.緩存功能

代碼如下

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

每次點(diǎn)擊x,y都會(huì)加1,但是

[react] useState的一些小細(xì)節(jié),react.js,前端,javascript

為什么?因?yàn)?strong>每次組件重新渲染let y都會(huì)重新賦值!!setState有緩存不會(huì)重新賦值?文章來源地址http://www.zghlxwxcb.cn/news/detail-850286.html

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

本文來自互聯(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)文章

  • React源碼解析18(6)------ 實(shí)現(xiàn)useState

    React源碼解析18(6)------ 實(shí)現(xiàn)useState

    在上一篇文章中,我們已經(jīng)實(shí)現(xiàn)了函數(shù)組件。同時(shí)可以正常通過render進(jìn)行渲染。 而通過之前的文章,beginWork和completeWork也已經(jīng)有了基本的架子。現(xiàn)在我們可以去實(shí)現(xiàn)useState了。 實(shí)現(xiàn)之前,我們要先修改一下我們的index.js文件: 由于我們這一篇并不會(huì)實(shí)現(xiàn)React的事件機(jī)制,所以

    2024年02月13日
    瀏覽(30)
  • 02react 函數(shù)組件useState的異步問題

    02react 函數(shù)組件useState的異步問題

    常見的鉤子函數(shù):useState、useEffect useState作為最常見的一個(gè)hook,在使用中總是會(huì)出現(xiàn)各種坑,最明顯的就是 useState 更新異步的問題。 問題描述:把接口返回的數(shù)據(jù),使用 useState 儲(chǔ)存起來,但是當(dāng)后面去改變這個(gè)數(shù)據(jù)的時(shí)候,每次拿到的都是上次的數(shù)據(jù),無法實(shí)時(shí)更新?;蛘?/p>

    2024年02月03日
    瀏覽(25)
  • React Hooks的useState、useRef使用

    React Hooks 是 React 16.8 版本引入的新特性,它允許你在不編寫 class 的情況下使用 state 和其他 React 特性。其中, useState ?和? useRef ?是兩個(gè)常用的 Hooks。 1. useState useState ?是一個(gè)允許你在函數(shù)組件中添加 state 的 Hook。 使用說明: useState ?返回一個(gè)狀態(tài)變量和一個(gè)設(shè)置該變量的函

    2024年02月02日
    瀏覽(22)
  • react中的useState和useImmer的用法

    react中的useState和useImmer的用法

    react中文官網(wǎng)教程 在函數(shù)式組件中,可以使用 useState 這個(gè) Hook 來定義和管理組件的狀態(tài)。 useState 接受一個(gè)初始狀態(tài)作為參數(shù),并返回一個(gè)包含 state 和更新 state 的方法的數(shù)組。 下面是一個(gè)例子,展示了如何在函數(shù)式組件中定義自己的 state: 在上面的例子中,我們使用 useStat

    2024年02月07日
    瀏覽(21)
  • React Hook - useState函數(shù)的詳細(xì)解析

    在上一篇文章中, 我用到useState來讓大家體驗(yàn)一下hooks函數(shù) 那么接下來我們來先研究一下上面核心的一段代碼代表什么意思 useState來自react,需要從react中導(dǎo)入,是一個(gè)hook函數(shù), 官方中也將它成為State Hook, 它與class組件里面的 this.state 提供的功能完全相同; 一般來說,在函數(shù)退出

    2024年01月25日
    瀏覽(28)
  • react如何處理setState,useState異步問題

    flushSync 是 React 提供的一種實(shí)驗(yàn)性的 API,用于控制 React 更新的同步/異步方式,并且只能在 React 16 及更高版本中使用。使用 flushSync 可以強(qiáng)制 React 在執(zhí)行一些特定的 DOM 操作時(shí),同步地(而非異步地)執(zhí)行分塊更新,從而保證消息優(yōu)先級(jí)和交互響應(yīng)性能。 通常情況下,React 采

    2024年02月11日
    瀏覽(17)
  • react18中,useState 和 useEffect有什么區(qū)別

    useState 目的:useState用于在函數(shù)組件中添加狀態(tài)。之前,只有類組件才能有自己的狀態(tài),但useState鉤子使得函數(shù)組件也能夠利用React的狀態(tài)特性。 使用場(chǎng)景:當(dāng)你需要在組件中存儲(chǔ)、讀取或更新一些數(shù)據(jù)時(shí)使用。例如,控制輸入框的內(nèi)容、切換按鈕的狀態(tài)等。 工作原理:useS

    2024年02月19日
    瀏覽(28)
  • react中useState、setState、usemeno、meno區(qū)別

    useState和setState是異步 useState : useState 是React函數(shù)組件中的鉤子,用于聲明狀態(tài)變量。 通過 useState ,你可以在函數(shù)組件中添加狀態(tài),而無需創(chuàng)建類組件。 useState 返回一個(gè)數(shù)組,其中包含當(dāng)前狀態(tài)和一個(gè)更新狀態(tài)的函數(shù) setState : setState 是類組件中用于更新狀態(tài)的方法。 在類

    2024年02月22日
    瀏覽(22)
  • JavaScript 框架比較:Angular、React、Vue.js

    在 Web 開發(fā)領(lǐng)域,JavaScript 提供大量技術(shù)??晒┻x擇。其中最典型的三套組合,分別是 MERN、MEAN 和 MEVN。這些首字母相同的選項(xiàng)各自代表不同的技術(shù)加工具組合。為了在這些技術(shù)棧中做出明智選擇,讓我們先從核心組件聊起,再對(duì)各自前端框架(React、Angular 和 Vue)進(jìn)行簡(jiǎn)化比

    2024年01月20日
    瀏覽(36)
  • react中useState的值沒有改變,而是舊的數(shù)值

    react中useState的值沒有改變,而是舊的數(shù)值

    想實(shí)現(xiàn)點(diǎn)擊按鈕就改變數(shù)據(jù)的效果,但是在控制臺(tái)的打印結(jié)果,總是上一次的修改情況,并不是最新的修改后的數(shù)據(jù) 代碼: 在 React 中, useState 是一個(gè)異步更新狀態(tài)的 Hook,因此在調(diào)用 setAName 更新狀態(tài)后, sonAName 并不會(huì)立即改變,而是會(huì)在下一次渲染時(shí)才會(huì)更新。 因此,在

    2024年04月26日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包