最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決React報(bào)錯(cuò)Expected?`onClick`?listener?to?be?a?function

 更新時(shí)間:2022年12月02日 11:28:49   作者:Borislav?Hadzhiev  
這篇文章主要為大家介紹了React報(bào)錯(cuò)Expected?`onClick`?listener?to?be?a?function解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

總覽

當(dāng)我們?yōu)樵氐?code>onClick屬性傳遞一個(gè)值,但是該值卻不是函數(shù)時(shí),會(huì)產(chǎn)生"Expected onClick listener to be a function"報(bào)錯(cuò)。為了解決該報(bào)錯(cuò),請(qǐng)確保只為元素的onClick屬性傳遞函數(shù)。

這里有個(gè)例子來展示錯(cuò)誤是如何發(fā)生的。

// App.js
const App = () => {
  // ?? Warning: Expected `onClick` listener to be a function
  // instead got a value of `string` type.
  return (
    <div>
      <button onClick="console.log('Click')">Click</button>
    </div>
  );
};
export default App;

當(dāng)按鈕的onClick屬性的期望值是函數(shù)時(shí),我們?yōu)槠鋫鬟f了一個(gè)字符串,從而導(dǎo)致了錯(cuò)誤的產(chǎn)生。

傳遞函數(shù)

為了解決該報(bào)錯(cuò),請(qǐng)確保只為元素的onClick屬性傳遞函數(shù)。

// App.js
const App = () => {
  const handleClick = () => {
    console.log('button clicked');
  };
  return (
    <div>
      <button onClick={handleClick}>Click</button>
    </div>
  );
};
export default App;

我們向元素的onClick屬性傳遞了一個(gè)函數(shù),順利的解決了這個(gè)錯(cuò)誤。然而,注意到我們?cè)谙?code>onClick屬性傳遞函數(shù)時(shí)并沒有調(diào)用該函數(shù)。

我們傳遞了函數(shù)的引用,而不是函數(shù)調(diào)用的結(jié)果。

如果傳遞了函數(shù)調(diào)用的結(jié)果,那么事件處理器將在頁面加載時(shí)立即被調(diào)用,這不是我們想要的。

傳遞參數(shù)

你通常需要做的事情是向事件處理器傳遞一個(gè)參數(shù)。你可以通過使用一個(gè)內(nèi)聯(lián)箭頭函數(shù)來做到這一點(diǎn)。

// App.js
import {useState} from 'react';
const App = () => {
  const [count, setCount] = useState(0);
  const handleClick = (event, num) => {
    console.log(event.target);
    console.log('button clicked');
    setCount(count + num);
  };
  return (
    <div>
      <h2>{count}</h2>
      <button onClick={event => handleClick(event, 100)}>Click</button>
    </div>
  );
};
export default App;

handleClick函數(shù)是用event對(duì)象和一個(gè)數(shù)字參數(shù)調(diào)用的。需要注意的是,我們沒有向onClick屬性傳遞調(diào)用handleClick函數(shù)的結(jié)果。

我們實(shí)際上是將一個(gè)函數(shù)傳遞給它,該函數(shù)以event對(duì)象為參數(shù),并返回以event和數(shù)字100為參數(shù)的handleClick函數(shù)的調(diào)用結(jié)果。

不要把調(diào)用handleClick函數(shù)的結(jié)果傳遞給onClick屬性,這是非常重要的。因?yàn)槿缛暨@樣的話,當(dāng)頁面加載時(shí),該函數(shù)會(huì)被立即調(diào)用,這可能會(huì)導(dǎo)致無限的重新渲染循環(huán)。

以上就是解決React報(bào)錯(cuò)Expected `onClick` listener to be a function的詳細(xì)內(nèi)容,更多關(guān)于React報(bào)錯(cuò)onClick function的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • React從插槽、路由、redux的詳細(xì)過程

    React從插槽、路由、redux的詳細(xì)過程

    React需要自己開發(fā)支持插槽功能,原理:父組件組件中寫入的HTML,可以傳入子組件的props中,這篇文章主要介紹了React從插槽、路由、redux的詳細(xì)過程,需要的朋友可以參考下
    2022-10-10
  • 一文詳解React渲染優(yōu)化之useImmer

    一文詳解React渲染優(yōu)化之useImmer

    在React日常開發(fā)中,我們常常被重復(fù)渲染或無意義渲染所折磨,窮盡腦汁,做各種優(yōu)化:memo、useMemo、useCallback、immutable等,本文主要講述immutable的簡約版Immer,感興趣的同學(xué)可以一起來學(xué)習(xí)
    2023-05-05
  • React-router 4 按需加載的實(shí)現(xiàn)方式及原理詳解

    React-router 4 按需加載的實(shí)現(xiàn)方式及原理詳解

    本篇文章主要介紹了React-router 4 按需加載的實(shí)現(xiàn)方式及原理詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05
  • 再次談?wù)揜eact.js實(shí)現(xiàn)原生js拖拽效果引起的一系列問題

    再次談?wù)揜eact.js實(shí)現(xiàn)原生js拖拽效果引起的一系列問題

    React 起源于 Facebook 的內(nèi)部項(xiàng)目,因?yàn)樵摴緦?duì)市場上所有 JavaScript MVC 框架,都不滿意,就決定自己寫一套,用來架設(shè) Instagram 的網(wǎng)站.本文給大家介紹React.js實(shí)現(xiàn)原生js拖拽效果,需要的朋友一起學(xué)習(xí)吧
    2016-04-04
  • React 使用browserHistory項(xiàng)目訪問404問題解決

    React 使用browserHistory項(xiàng)目訪問404問題解決

    這篇文章主要介紹了React 使用browserHistory項(xiàng)目訪問404問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • React組件通信實(shí)現(xiàn)方式詳解

    React組件通信實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了React組件通信,在開發(fā)中組件通信是React中的一個(gè)重要的知識(shí)點(diǎn),本文通過實(shí)例代碼給大家講解react中常用的父子、跨組件通信的方法,需要的朋友可以參考下
    2023-03-03
  • React中的函數(shù)式插槽詳解

    React中的函數(shù)式插槽詳解

    這篇文章主要為大家詳細(xì)介紹了React?開發(fā)中遇到的具名插槽的函數(shù)用法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,有興趣的小伙伴可以了解一下
    2023-11-11
  • React中state屬性案例詳解

    React中state屬性案例詳解

    在React中,state 是一個(gè)用于存儲(chǔ)組件內(nèi)部數(shù)據(jù)的特殊對(duì)象,每個(gè)React組件都可以包含自己的state,我們往往是通過修改state的值來驅(qū)動(dòng)React重新渲染組件,這篇文章主要介紹了React中state屬性,需要的朋友可以參考下
    2023-11-11
  • react中antd Upload手動(dòng)上傳的示例

    react中antd Upload手動(dòng)上傳的示例

    本文主要介紹了react中antd Upload手動(dòng)上傳的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 使用Ant Design Anchor組件的一個(gè)坑及解決

    使用Ant Design Anchor組件的一個(gè)坑及解決

    這篇文章主要介紹了使用Ant Design Anchor組件的一個(gè)坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評(píng)論

阜平县| 江永县| 昭平县| 赤城县| 楚雄市| 哈密市| 济阳县| 吴堡县| 神农架林区| 凌海市| 内江市| 遵义市| 旅游| 高唐县| 开原市| 乐安县| 象州县| 中阳县| 南丹县| 拉萨市| 彩票| 乡宁县| 鄂尔多斯市| 易门县| 华宁县| 呈贡县| 湘潭市| 团风县| 裕民县| 东海县| 柳河县| 东光县| 台南县| 营口市| 呼图壁县| 商水县| 田东县| 德令哈市| 准格尔旗| 万宁市| 右玉县|