久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      react null報錯怎么辦

      react null報錯的解決辦法:1、打開相應的js文件;2、檢查元素是否已經(jīng)渲染到DOM上;3、在useEffect鉤子中訪問ref,或者當事件觸發(fā)時再訪問ref即可。

      react null報錯怎么辦

      本教程操作環(huán)境:Windows10系統(tǒng)、react18.0.0版、Dell G3電腦。

      react null報錯怎么辦?

      React報錯之ref返回undefined或null

      當我們試圖在其對應的DOM元素被渲染之前訪問其current屬性時,React的ref通常會返回undefined或者null。為了解決該問題,可以在useEffect鉤子中訪問ref,或者當事件觸發(fā)時再訪問ref。

      import {useRef, useEffect} from 'react'; export default function App() {   const ref = useRef();   console.log(ref.current); // ?️ undefined here   useEffect(() => {     const el2 = ref.current;     console.log(el2); // ?️ element here   }, []);   return (     <div>       <div ref={ref}>         <h2>Hello</h2>       </div>     </div>   ); }
      登錄后復制

      useEffect

      useRef()鉤子可以傳遞一個初始值作為參數(shù)。該鉤子返回一個可變的ref對象,ref對象上的current屬性被初始化為傳遞的參數(shù)。

      我們沒有為useRef傳遞初始值,因此其current屬性設置為undefined。如果我們將null傳遞給鉤子,如果立即訪問其current屬性,將會得到null。

      需要注意的是,我們必須訪問ref對象上的current屬性,以此來訪問設置了ref屬性的div元素。

      當我們?yōu)樵貍鬟fref屬性時,比如說,<div ref={myRef} /> ,React將ref對象的.current屬性設置為相應的DOM節(jié)點。

      我們使用useEffect鉤子,是因為我們想要確保ref已經(jīng)設置在元素上,并且元素已經(jīng)渲染到DOM上。

      如果我們嘗試在組件中直接訪問ref上的current屬性,我們會得到undefined,是因為 ref 還沒有被設置,而且 div 元素還沒有被渲染。

      事件

      你也可以在事件處理函數(shù)中訪問ref的current屬性。

      import {useRef, useEffect} from 'react'; export default function App() {   const ref = useRef();   console.log(ref.current); // ?️ undefined here   useEffect(() => {     const el2 = ref.current;     console.log(el2); // ?️ element here   }, []);   const handleClick = () => {     console.log(ref.current); // ?️ element here   };   return (     <div>       <div ref={ref}>         <h2>Hello</h2>       </div>       <button onClick={handleClick}>Click</button>     </div>   ); }
      登錄后復制

      當用戶點擊按鈕的時候,ref已經(jīng)被設置好了,相應的元素已經(jīng)被渲染到DOM中,所以我們能夠訪問它。

      總結(jié)

      可以在useEffect鉤子中訪問ref,或者當事件觸發(fā)時再訪問ref。也就是說,要確保元素已經(jīng)渲染到DOM上。

      推薦學習:《react視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號