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

解決React報(bào)錯(cuò)Functions are not valid as a React child

 更新時(shí)間:2022年12月02日 14:36:13   作者:Borislav Hadzhiev  
這篇文章主要為大家介紹了React報(bào)錯(cuò)Functions are not valid as a React child解決詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

總覽

產(chǎn)生"Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render."錯(cuò)誤

通常是因?yàn)橐韵聝蓚€(gè)原因:

  • render中返回一個(gè)函數(shù)引用而不是一個(gè)組件。
  • 使用 react router 路由作為<Route path="/about" element={About} /> ,而不是<Route path="/about" element={<About />} /> 。

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

// App.js
/**
 * ?? Functions are not valid as a React child.
 * This may happen if you return a Component instead of <Component /> from render.
 *  Or maybe you meant to call this function rather than return it.
 */
const App = () => {
  const getButton = () => {
    return <button>Click</button>;
  };
  // ??? returning function not JSX element from render
  return <div>{getButton}</div>;
};
export default App;

上面代碼片段的問(wèn)題在于,我們從render方法中返回getButton函數(shù),而不是返回真正的JSX元素。

調(diào)用函數(shù)

為了解決這種情況下的錯(cuò)誤,我們可以調(diào)用該函數(shù)。

const App = () => {
  const getButton = () => {
    return <button>Click</button>;
  };
  // ? now returning the actual button
  // added parenthesis () to call the function
  return <div>{getButton()}</div>;
};
export default App;

通過(guò)調(diào)用getButton函數(shù),我們返回了button元素從而解決了該錯(cuò)誤。

如果你正在嘗試渲染一個(gè)真正的組件,確保將其用作<Component />而不是Component。

const App = () => {
  const Button = () => {
    return <button>Click</button>;
  };
  // ? Using component as <Button />, not Button
  return (
    <div>
      <Button />
    </div>
  );
};
export default App;

另一個(gè)導(dǎo)致該錯(cuò)誤的原因是,當(dāng)我們?yōu)閞eact router 路由傳遞一個(gè)元素時(shí),比如<Route path="/about" element={About} /> 。

// ?? wrong syntax
<Route path="/about" element={About} />
// ? right syntax
<Route path="/about" element={<About />} />

在 react router v6 中,我們不向 Route 組件傳遞 children 屬性,而是使用 element 屬性。例如,<Route path="/about" element={<About />} />

當(dāng)使用react router時(shí),請(qǐng)確保將應(yīng)該為特定路由渲染的組件作為<Component />,而不是Component。

總結(jié)

可以通過(guò)以下兩種方式解決錯(cuò)誤:

  • render中返回組件而不是函數(shù)。
  • 傳遞給路由中element屬性的是<Component />,而不是Component。

原文鏈接:bobbyhadz.com/blog/react-…

以上就是解決React報(bào)錯(cuò)Functions are not valid as a React child的詳細(xì)內(nèi)容,更多關(guān)于React 報(bào)錯(cuò)Functions valid的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于react useState更新異步問(wèn)題

    關(guān)于react useState更新異步問(wèn)題

    這篇文章主要介紹了關(guān)于react useState更新異步問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

    2022-08-08
  • React基于RBAC的權(quán)限控制案例講解

    React基于RBAC的權(quán)限控制案例講解

    這篇文章主要介紹了React基于RBAC的權(quán)限控制,通過(guò)定義角色和權(quán)限、編寫(xiě)權(quán)限檢查函數(shù)以及在路由、組件和選擇控件中使用這些函數(shù),可以靈活地控制應(yīng)用中的訪(fǎng)問(wèn)權(quán)限,需要的朋友可以參考下
    2024-05-05
  • React團(tuán)隊(duì)測(cè)試并發(fā)特性詳解

    React團(tuán)隊(duì)測(cè)試并發(fā)特性詳解

    這篇文章主要為大家介紹了React團(tuán)隊(duì)測(cè)試并發(fā)特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 基于React封裝一個(gè)驗(yàn)證碼輸入控件

    基于React封裝一個(gè)驗(yàn)證碼輸入控件

    郵箱、手機(jī)驗(yàn)證碼輸入是許多在線(xiàn)服務(wù)和網(wǎng)站常見(jiàn)的安全驗(yàn)證方式之一,本文主要來(lái)和大家討論一下如何使用React封裝一個(gè)驗(yàn)證碼輸入控件,感興趣的可以了解下
    2024-03-03
  • React 自動(dòng)聚焦字段使用詳解

    React 自動(dòng)聚焦字段使用詳解

    這篇文章主要為大家介紹了React 自動(dòng)聚焦字段使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • React Native自定義路由管理的深入理解

    React Native自定義路由管理的深入理解

    路由管理的功能主要指的頁(yè)面跳轉(zhuǎn)、goBack、帶參數(shù)跳轉(zhuǎn)等功能,這篇文章主要給大家介紹了關(guān)于React Native自定義路由管理的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 如何使用Redux Toolkit簡(jiǎn)化Redux

    如何使用Redux Toolkit簡(jiǎn)化Redux

    這篇文章主要介紹了如何使用Redux Toolkit簡(jiǎn)化Redux,幫助大家更好的理解和學(xué)習(xí)使用React框架,感興趣的朋友可以了解下
    2021-04-04
  • 解決React Native端口號(hào)修改的方法

    解決React Native端口號(hào)修改的方法

    這篇文章主要介紹了解決React Native端口號(hào)修改的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 淺談React 服務(wù)器端渲染的使用

    淺談React 服務(wù)器端渲染的使用

    本篇文章主要介紹了淺談React 服務(wù)器端渲染的使用,React是最受歡迎的客戶(hù)端 JavaScript 框架,在本教程中,我們將逐步向您介紹服務(wù)器端的渲染示例
    2018-05-05
  • React中的Hooks進(jìn)階理解教程

    React中的Hooks進(jìn)階理解教程

    這篇文章主要介紹了React中的Hooks進(jìn)階理解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論