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

react通過ref獲取函數(shù)子組件實(shí)例方法

這篇具有很好參考價(jià)值的文章主要介紹了react通過ref獲取函數(shù)子組件實(shí)例方法。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在react16之后帶來了hooks之后,確實(shí)方便了很多組件開發(fā),也加快了函數(shù)式編程的速度,但是當(dāng)你通過useRef獲取子組件的時(shí)候,又恰好子組件是一個(gè)函數(shù)組件,那么將會報(bào)一個(gè)錯(cuò)誤:報(bào)這個(gè)錯(cuò)誤的主要原因是函數(shù)組件沒有實(shí)例對象,所以你沒辦法通過ref獲取子組件實(shí)例?

Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?

react通過ref獲取函數(shù)子組件實(shí)例方法,HTML前端,react.js,前端,前端框架

所以它提示你是否使用 forwardRef 將子組件包裹一下:react通過ref獲取函數(shù)子組件實(shí)例方法,HTML前端,react.js,前端,前端框架

包裹一下之后就不會報(bào)錯(cuò)了,而且也可以拿到子組件實(shí)例了:但是子組件實(shí)例上面啥都沒有,是一個(gè)空對象?react通過ref獲取函數(shù)子組件實(shí)例方法,HTML前端,react.js,前端,前端框架

這個(gè)時(shí)候還要在子組件上暴露出去幾個(gè)函數(shù),才可以讓父組件拿到子組件實(shí)例上的函數(shù):

  // 暴露出去的實(shí)例對象應(yīng)該有哪些函數(shù)
  useImperativeHandle(ref, () => ({
    saveMd: () => {
      console.log("保存markdown內(nèi)容");
      localStorage.setItem("notes", htmlString)
    }
  }))

react通過ref獲取函數(shù)子組件實(shí)例方法,HTML前端,react.js,前端,前端框架

這時(shí)候再看一下獲取到的子組件實(shí)例:就有了子組件暴露出去的函數(shù),就可以調(diào)用了react通過ref獲取函數(shù)子組件實(shí)例方法,HTML前端,react.js,前端,前端框架文章來源地址http://www.zghlxwxcb.cn/news/detail-666779.html

到了這里,關(guān)于react通過ref獲取函數(shù)子組件實(shí)例方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • React 使用 useRef() 獲取循環(huán)中所有子組件實(shí)例

    React 使用 useRef() 獲取循環(huán)中所有子組件實(shí)例

    之前項(xiàng)目中使用了 antd pro 中的 可編輯表格 (EditableProTable) ,在頁面中表格要經(jīng)過多層遍歷后組成的新頁面,所以我將之抽成了一個(gè)公用的組件,另外在遍歷的最外層需要通過一個(gè)按鈕統(tǒng)一提交表格數(shù)據(jù),但是提交數(shù)據(jù)之前需要對每一個(gè)表格進(jìn)行非空校驗(yàn)。 遍歷中引入組件這

    2024年02月11日
    瀏覽(51)
  • vue中使用this.$refs獲取不到子組件的方法,屬性方法都為undefined的解決方法

    vue中使用this.$refs獲取不到子組件的方法,屬性方法都為undefined的解決方法

    因?yàn)樽粤硕鄠€(gè)ref,獲取是不能單單知識refs.xxx,需要使用數(shù)組和索引來獲取具體一個(gè)組件refs[index].xxx 額……就像這樣?? 好這么一寫,導(dǎo)致前兩個(gè)組件都無法正常使用…… 頁面也會有這個(gè)報(bào)錯(cuò): 組件名 - did you register the component correctly? For recursive components, make sure to provide

    2024年02月13日
    瀏覽(21)
  • React三種通過屬性傳遞組件本身的方法

    直接傳遞 JSX 創(chuàng)建好的元素 把要傳遞的組件作為 JSX 元素寫在屬性值里,然后在接收的組件里用 {this.props.xxx} 來渲染。這種方法的優(yōu)點(diǎn)是直觀和靈活,缺點(diǎn)是可能造成不必要的重復(fù)渲染。 直接傳遞 JSX 創(chuàng)建好的元素的方法會造成不必要的渲染,是因?yàn)槊看胃附M件重新渲染時(shí),

    2024年02月12日
    瀏覽(20)
  • React:高階組件|ref轉(zhuǎn)發(fā)

    ? ? ? ? 參考文檔:高階組件 – React (reactjs.org) ????????高階組件(Higher-Order Components,簡稱? HOC )是React中用于復(fù)用組件邏輯的一種高級技巧。具體而言: 高階組件是參數(shù)為組件,返回值為新組件的函數(shù) 。 ????????組件是將 props 轉(zhuǎn)換為 UI,而高階組件是將組件轉(zhuǎn)換

    2024年02月21日
    瀏覽(27)
  • unity 之 GetComponent 獲取游戲?qū)ο笊辖M件實(shí)例方法

    unity 之 GetComponent 獲取游戲?qū)ο笊辖M件實(shí)例方法

    GetComponent 是Unity引擎中用于獲取游戲?qū)ο笊辖M件實(shí)例的方法。它允許您從游戲?qū)ο笾蝎@取特定類型的組件,以便在腳本中進(jìn)行操作和交互。 GetComponent ComponentType (): 這是一個(gè)泛型方法,用于從當(dāng)前游戲?qū)ο笊汐@取指定類型的組件。在 ComponentType 部分,您應(yīng)該提供您想要獲取的

    2024年02月02日
    瀏覽(28)
  • React 組件的3大屬性: refs

    Refs(引用)是 React 中用于訪問組件中的 DOM 元素或其他 React 組件實(shí)例的一種機(jī)制。它們提供了一種途徑,使你可以在React中直接操作和訪問DOM元素,或者在React組件之間進(jìn)行通信。 用途: 焦點(diǎn)的管理、文本的選擇、媒體的播放; 強(qiáng)制觸發(fā)動畫; 繼承三方 DOM 庫; 字符串 R

    2024年02月06日
    瀏覽(17)
  • 29 - ref 和 $refs 獲取dom和組件

    29 - ref 和 $refs 獲取dom和組件

    作用: 利用 ref? 和 $refs 可以用于 獲取 dom 元素 , 或 組件實(shí)例 特點(diǎn): 查找范圍 - 當(dāng)前組件內(nèi)(更精確穩(wěn)定) 1. 獲取 dom: ? ? ? ? (1). 目標(biāo)標(biāo)簽 - 添加 ref屬性 ? ? ? ? (2). 恰當(dāng)時(shí)機(jī),通過this.$refs.xxx,獲取目標(biāo)標(biāo)簽 ????????代碼示例: ? 2. 獲取組件 ? ? ? ? (1). 目標(biāo)組件 - 添加 r

    2024年02月11日
    瀏覽(19)
  • React 中的 ref 如何操作 dom節(jié)點(diǎn),使輸入框獲取焦點(diǎn)

    React 中的 ref 如何操作 dom節(jié)點(diǎn),使輸入框獲取焦點(diǎn)

    .focus() 獲取焦點(diǎn) 當(dāng)用戶點(diǎn)擊按鈕時(shí), handleClick 函數(shù)會被調(diào)用,從而將焦點(diǎn)聚焦到文本輸入框上。 定義一個(gè)名為 handleClick 的函數(shù)。當(dāng)按鈕被點(diǎn)擊時(shí),這個(gè)函數(shù)會被調(diào)用。在函數(shù)內(nèi)部,我們通過 inputRef.current 獲取到 inputRef 引用所指向的 DOM 元素,并調(diào)用其 focus 方法,將焦點(diǎn)聚

    2024年02月09日
    瀏覽(20)
  • React Native Ref轉(zhuǎn)發(fā)/Memo緩存/HOC高階組件/Context上下文

    React Native Ref轉(zhuǎn)發(fā)/Memo緩存/HOC高階組件/Context上下文

    1、使用自定義組件時(shí),實(shí)現(xiàn)外層組件對原始組件(TextInput)的操作 外層組件使用 ref 屬性 子組件使用 forwardRef 包裹 2、函數(shù)式組件對外暴露實(shí)例方法(cusomFocus) 子組件 父組件如圖一所示 1 、 避免多余渲染 問題:每次點(diǎn)擊按鈕都會導(dǎo)致 InfoView 組件發(fā)生重繪,即使每次 setI

    2024年01月21日
    瀏覽(25)
  • vue3中ref獲取子組件的值

    一、 script setup 通過ref獲取子組件的值或方法 父組件: 子組件: 二、setup()通過ref獲取子組件值 父組件: 子組件:

    2024年02月16日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包