欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決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è)例子來(lái)展示錯(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í)并沒(méi)有調(diào)用該函數(shù)。

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

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

傳遞參數(shù)

你通常需要做的事情是向事件處理器傳遞一個(gè)參數(shù)。你可以通過(guò)使用一個(gè)內(nèi)聯(lián)箭頭函數(shù)來(lái)做到這一點(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)用的。需要注意的是,我們沒(méi)有向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)槿缛暨@樣的話(huà),當(dāng)頁(yè)面加載時(shí),該函數(shù)會(huì)被立即調(diào)用,這可能會(huì)導(dǎo)致無(wú)限的重新渲染循環(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-native動(dòng)態(tài)切換tab組件的方法

    react-native動(dòng)態(tài)切換tab組件的方法

    在APP中免不了要使用tab組件,有的是tab切換,也有的是tab分類(lèi)切換.這篇文章主要介紹了react-native動(dòng)態(tài)切換tab組件的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-07-07
  • React中常用的Hook有哪些

    React中常用的Hook有哪些

    這篇文章主要介紹了react hooks實(shí)現(xiàn)原理,文中給大家介紹了useState dispatch 函數(shù)如何與其使用的 Function Component 進(jìn)行綁定,節(jié)后實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • react antd實(shí)現(xiàn)動(dòng)態(tài)增減表單

    react antd實(shí)現(xiàn)動(dòng)態(tài)增減表單

    antd是react流行的ui框架庫(kù),本文主要介紹了react antd實(shí)現(xiàn)動(dòng)態(tài)增減表單,分享給大家,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 詳解React中多種組件通信方式的實(shí)現(xiàn)

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

    在React中,組件之間的通信是一個(gè)非常重要的話(huà)題,React提供了幾種方式來(lái)實(shí)現(xiàn)跨組件通信,下面小編將詳細(xì)講講其中幾種通信方式,并提供實(shí)際的代碼示例,需要的可以參考下
    2023-11-11
  • 詳解Immutable及 React 中實(shí)踐

    詳解Immutable及 React 中實(shí)踐

    Immutable 可以給 React 應(yīng)用帶來(lái)數(shù)十倍的提升,也有人說(shuō) Immutable 的引入是近期 JavaScript 中偉大的發(fā)明,因?yàn)橥?React 太火,它的光芒被掩蓋了。這篇文章主要介紹了Immutable及 React 中的實(shí)踐,需要的朋友可以參考下
    2018-03-03
  • React Native提供自動(dòng)完成的下拉菜單的方法示例

    React Native提供自動(dòng)完成的下拉菜單的方法示例

    這篇文章主要為大家介紹了React Native提供自動(dòng)完成的下拉菜單的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • JS跨域解決方案react配置反向代理

    JS跨域解決方案react配置反向代理

    這篇文章主要為大家介紹了JS跨域解決方案react配置反向代理的示例內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • react配置px轉(zhuǎn)換rem的方法

    react配置px轉(zhuǎn)換rem的方法

    這篇文章主要介紹了react配置px轉(zhuǎn)換rem的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • React框架核心原理全面深入解析

    React框架核心原理全面深入解析

    React是前端開(kāi)發(fā)每天都用的前端框架,自然要深入掌握它的原理。我用 React 也挺久了,這篇文章就來(lái)總結(jié)一下我對(duì) react 原理的理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-11-11
  • 在React項(xiàng)目中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位

    在React項(xiàng)目中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位

    錨點(diǎn)目錄定位功能在長(zhǎng)頁(yè)面和文檔類(lèi)網(wǎng)站中非常常見(jiàn),它可以讓用戶(hù)快速定位到頁(yè)面中的某個(gè)章節(jié),本文講給大家介紹一下React項(xiàng)目中如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位,文中有詳細(xì)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-09-09

最新評(píng)論