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

react hooks 中使用 addEventListener 監(jiān)聽(tīng)事件無(wú)法訪問(wèn)到最新的 state 的問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了react hooks 中使用 addEventListener 監(jiān)聽(tīng)事件無(wú)法訪問(wèn)到最新的 state 的問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

示例:

const Exposure = (props: IExposure) => {
  const [hasAsyncData, SetHasAsyncData] = useState(false);

  useEffect(() => {
    if (props.asyncData) {
      SetHasAsyncData(true);
    }
  }, [props.asyncData]);

  useEffect(() => {
    window.addEventListener("touchmove", handleMove, false);
    window.addEventListener("scroll", handleMove, false);
    return () => {
      window.removeEventListener("touchmove", handleMove);
      window.removeEventListener("scroll", handleMove);
    };
  }, []);

  function handleMove() {
    console.log(hasAsyncData);
  }
  return <div ref={measuredRef}></div>;
};

export default Exposure;

如上述代碼所示,props.asyncData 變化之后 hasAsyncData 設(shè)置為 true,然后滾動(dòng)頁(yè)面,handleMove 中的 hasAsyncData 仍然為初始值 false。
所以這時(shí)要在 hasAsyncData 變化后,重新綁定 addEventListener 事件

useEffect(() => {
? }, [hasAsyncData])

在useEffect中將他監(jiān)聽(tīng)起來(lái),從新綁定文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-810471.html

const Exposure = (props: IExposure) => {
  const [hasAsyncData, SetHasAsyncData] = useState(false);

  useEffect(() => {
    if (props.asyncData) {
      SetHasAsyncData(true);
    }
  }, [props.asyncData]);

  useEffect(() => {
    window.addEventListener("touchmove", handleMove, false);
    window.addEventListener("scroll", handleMove, false);
    return () => {
      window.removeEventListener("touchmove", handleMove);
      window.removeEventListener("scroll", handleMove);
    };
  }, [hasAsyncData]); //改動(dòng)了這里

  function handleMove() {
    console.log(hasAsyncData);
  }
  return <div ref={measuredRef}></div>;
};

export default Exposure;

到了這里,關(guān)于react hooks 中使用 addEventListener 監(jiān)聽(tīng)事件無(wú)法訪問(wèn)到最新的 state 的問(wèn)題的文章就介紹完了。如果您還想了解更多內(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)文章

  • 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(1)華為手機(jī)無(wú)法使用addEventListener click 的兼容解決方案

    漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(1)華為手機(jī)無(wú)法使用addEventListener click 的兼容解決方案

    漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(1)華為手機(jī)無(wú)法使用addEventListener click 的兼容解決方案 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(2)文本標(biāo)簽顯示和隱藏的切換開(kāi)關(guān) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(3)自動(dòng)獲取地圖多邊形中心點(diǎn)坐標(biāo) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(4)顯示指定區(qū)域在移動(dòng)端異常的

    2024年01月19日
    瀏覽(92)
  • Activiti7流程結(jié)束監(jiān)聽(tīng)事件中,拋出的異常無(wú)法被spring全局異常捕捉

    Activiti7流程結(jié)束監(jiān)聽(tīng)事件中,拋出的異常無(wú)法被spring全局異常捕捉

    activiti7中,提供了 ProcessRuntimeEventListener 監(jiān)聽(tīng)器,用于監(jiān)聽(tīng)流程實(shí)例的結(jié)束事件 上述代碼中,由于1/0會(huì)拋出運(yùn)行時(shí)異常,理論上來(lái)說(shuō)應(yīng)該被我們的全局異常所捕獲 實(shí)際情況是無(wú)法捕獲 既然異常沒(méi)有被一層一層的拋出去直到被全局異常捕獲,那說(shuō)明調(diào)用 ProcessCompleteListener.onE

    2024年02月06日
    瀏覽(21)
  • React Hooks 基本使用

    class 組件如果業(yè)務(wù)復(fù)雜,很難拆分和重構(gòu),很難測(cè)試;相同業(yè)務(wù)邏輯分散到各個(gè)方法中,邏輯混亂 邏輯復(fù)用像 HOC 、 Render Props ,不易理解,學(xué)習(xí)成本高 React 提倡函數(shù)式編程,函數(shù)更易拆分,更易測(cè)試 但是函數(shù)組件太簡(jiǎn)單,為了增強(qiáng)函數(shù)組件的功能,媲美 class 組件: 函數(shù)組

    2024年01月21日
    瀏覽(59)
  • 【《React Hooks實(shí)戰(zhàn)》——指導(dǎo)你使用hook開(kāi)發(fā)性能優(yōu)秀可復(fù)用性高的React組件】

    【《React Hooks實(shí)戰(zhàn)》——指導(dǎo)你使用hook開(kāi)發(fā)性能優(yōu)秀可復(fù)用性高的React組件】

    使用React Hooks后,你很快就會(huì)發(fā)現(xiàn),代碼變得更具有組織性且更易于維護(hù)。React Hooks是旨在為用戶提供跨組件的重用功能和共享功能的JavaScript函數(shù)。利用React Hooks, 可以將組件分成多個(gè)函數(shù)、管理狀態(tài)和副作用,并且不必聲明類即可調(diào)用React內(nèi)置的功能。而且,上述所有的操作

    2024年02月14日
    瀏覽(25)
  • 解決Iframe交互事件window.addEventListener觸發(fā)多次問(wèn)題

    addEventListener() 方法用于向指定元素添加事件句柄。 提示: 使用 removeEventListener() 方法來(lái)移除 addEventListener() 方法添加的事件句柄。 當(dāng)我們審批流交互用到window.postMessage結(jié)合window.addEventListene這種消息傳遞技術(shù)來(lái)實(shí)現(xiàn)安全的通信。簡(jiǎn)單的來(lái)講就是進(jìn)行事件交互,如當(dāng)我們有以下

    2024年02月11日
    瀏覽(14)
  • React Hooks 詳細(xì)使用介紹

    useState 是 React 中的一個(gè)基礎(chǔ) Hook,允許你在不使用 class 組件的情況下管理組件狀態(tài)。 參數(shù) 初始值 你可以直接傳遞狀態(tài)的初始值給 useState : 使用函數(shù)設(shè)置初始值 當(dāng)初始化狀態(tài)代價(jià)較大時(shí),你可以傳遞一個(gè)函數(shù): 返回值 useState 返回一個(gè)數(shù)組,其中包括當(dāng)前狀態(tài)值和一個(gè)更新

    2024年02月13日
    瀏覽(21)
  • react中hooks的理解與使用

    react中hooks的理解與使用

    一、作用 我們知道react組件有兩種寫(xiě)法一種是類組件,另一種是函數(shù)組件。而函數(shù)組件是無(wú)狀態(tài)組件,如果我們要想改變組件中的狀態(tài)就無(wú)法實(shí)現(xiàn)了。為此,在react16.8版本后官方推出hooks,用于函數(shù)組件更改狀態(tài)。 二、常用API 1、useState :存儲(chǔ)變量和修改變量 用法: 有兩個(gè)參

    2024年02月13日
    瀏覽(24)
  • React - Redux Hooks的使用細(xì)節(jié)詳解

    Redux中Hooks介紹 在之前的redux開(kāi)發(fā)中,為了讓組件和redux結(jié)合起來(lái),我們使用了react-redux庫(kù)中的connect : 但是這種方式必須使用高階函數(shù)結(jié)合返回的高階組件; 并且必須編寫(xiě):mapStateToProps和 mapDispatchToProps映射的函數(shù), 具體使用方式在前面文章有講解; 在Redux7.1開(kāi)始,提供了Hook的方式

    2024年02月02日
    瀏覽(15)
  • react使用hook封裝一個(gè)tab組件
  • React Hooks的useState、useRef使用

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

    2024年02月02日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包