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

關(guān)于react中的常見錯(cuò)誤及解決

 更新時(shí)間:2022年09月01日 10:45:34   作者:愛編譯也愛吃肉的喵  
這篇文章主要介紹了關(guān)于react中的常見錯(cuò)誤及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

最近在做react項(xiàng)目的時(shí)候遇到了幾個(gè)報(bào)錯(cuò),這幾個(gè)報(bào)錯(cuò)在react項(xiàng)目還算常見,因此記錄下來解決方法。

’type’ is missing in props validation

報(bào)錯(cuò):type缺少props驗(yàn)證

解決:

1.查看下propTypes是否寫成大寫了,因?yàn)槲覀円氲臅r(shí)候是大寫的,所以很多小伙伴可能直接復(fù)制過來就成大寫了,也會報(bào)錯(cuò)哦

2.新增type: PropTypes.number

import PropTypes from 'prop-types';
const ReportOperate = ({ logId, type }) => {
  return <>
    <a href='javascript:;' onClick={() => handleJump(record.logId, record.type)} style={{ color: '#1DA57A' }}>查看詳情</a>
    <a href={record.filePath} style={{ marginLeft: 20, color: '#1DA57A' }}>下載日志</a>
  </>
}
ReportOperate.propTypes = {
  logId: PropTypes.number,
  type: PropTypes.number,//加上這句就好了
}
export default ReportOperate

throw new Error(‘Cyclic dependency’ + nodeRep)

Error:Cyclic dependency

報(bào)錯(cuò): Webpack 循環(huán)依賴

解決:

npm i --save-dev html-webpack-plugin@next

Cannot destructure property getFieldDecorator of ‘undefined’ or ‘null’.

報(bào)錯(cuò): 無法破壞getFieldDecorator屬性undefine或null

解決:

1.是否沒有注入Form.create()

// 無狀態(tài)組件
export default Form.create()(SearchForm)

//有狀態(tài)組件
@Form.create()

Uncaught Error: Invariant Violation: Objects are not valid as a React child (found: object with keys {child}). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons. Check the render method of Matchs.

報(bào)錯(cuò)原因: 對數(shù)組進(jìn)行map,然后取成了對象

解決:

1.map里面某一項(xiàng)取值是對象

Uncaught TypeError: Cannot read property ‘isSelectOptGroup’ of undefined

報(bào)錯(cuò)原因: const Option = Select.option 引入ant design 的select錯(cuò)誤

解決:

改成下面的

const { Option } = Select

VM38184:1 Uncaught (in promise) Error: Actions must be plain objects. Use custom middleware for async actions.

報(bào)錯(cuò)原因: 缺少了dispatch

解決:

改成下面的

backend.js:6 ./src/pages/beach/containers/Reward.js

Module not found: Error: Can’t resolve ‘antd/es/descriptions’ in '/Users/chenjiaxin/bull/src/pages/beach/containers’

或者

Module not found: Can’t resolve 'antd/es/affix’

報(bào)錯(cuò)原因:

在項(xiàng)目中使用了antd里面的Descriptions描述列表組件,發(fā)現(xiàn)報(bào)了這個(gè)錯(cuò)誤,根本原因就是使用的antd版本里面沒有這個(gè)組件,項(xiàng)目中引用的antd版本是3.16.0,而我看的文檔版本已經(jīng)到了3.24.0了

解決: 將antd 版本更新到最新或者文檔里的版本

在這里插入圖片描述

Uncaught TypeError: Cannot convert undefined or null to object

報(bào)錯(cuò)原因: 由于undefined和null無法轉(zhuǎn)成對象,如果用Object.keys等操作的話需要加個(gè)對象作為初始值。

解決:

 const [firstResponsibility, setFirstResponsibility] = useState({})

Uncaught TypeError: Cannot read property ‘value’ of null

報(bào)錯(cuò)原因: 涉及到React中的合成事件,debounce包裝后的回調(diào)函數(shù),是個(gè)異步事件,即e.target為null了

The SyntheticEvent is pooled. This means that the SyntheticEvent object will be reused and all properties will be nullified after the event callback has been invoked. This is for performance reasons. As such, you cannot access the event in an asynchronous way.

解決:

//錯(cuò)誤代碼
<Search
	addonBefore={prefixSelector}
    style={{ width: 250 }}
    allowClear
    onChange={debounce(e => {
    	console.log('e', e)
    	e.persist()
    	setSearchValue((e.target || {}).value)
    	handleChangeParams(searchId, (e.target || {}).value)
  	}, 1000)}
/>
 // 錯(cuò)誤代碼,可以執(zhí)行,但是還是執(zhí)行多次,沒有起到防抖的效果
<Search
   addonBefore={prefixSelector}
   style={{ width: 250 }}
   allowClear
   onChange={e => {
     e.persist()
     debounce(() => {
       setSearchValue((e.target || {}).value)
       handleChangeParams(searchId, (e.target || {}).value)
     }, 2000)()
   }}
/>

// 正確代碼
<Search
    addonBefore={prefixSelector}
    style={{ width: 250 }}
    allowClear
    onChange={e => {
       e.persist()
       handleChangeValue(e)
     }}
/>
const handleChangeValue = debounce(e => {
    setSearchValue((e.target || {}).value)
    handleChangeParams(searchId, (e.target || {}).value)
  }, 1000)

vendor.js:1 Uncaught Error: Minified React error #306; visit https://reactjs.org/docs/error-decoder.html?invariant=306&args[]=()&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.

報(bào)錯(cuò)原因: 標(biāo)簽內(nèi)的onClick事件立刻執(zhí)行導(dǎo)致死循環(huán),加載過多

解決:

// 錯(cuò)誤代碼
<CommonTabBox onCallBack={setCurTab} />
// 正確代碼
 <CommonTabBox onCallBack={val => setCurTab(val)} />

無法使用 JSX,除非提供了 “–jsx” 標(biāo)志

解決:

在vscode的setting.json中設(shè)置

 "typescript.tsdk": "node_modules\\typescript\\lib",

無法找到模塊“react/jsx-runtime”的聲明文件。

解決:

npm install -D @types/庫的名字

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • react+typescript中使用echarts的實(shí)現(xiàn)步驟

    react+typescript中使用echarts的實(shí)現(xiàn)步驟

    本文主要介紹了react+typescript中使用echarts的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 關(guān)于React中的聲明式渲染框架問題

    關(guān)于React中的聲明式渲染框架問題

    這篇文章主要介紹了React中的聲明式渲染框架,我們先討論了命令式和聲明式這兩種范式的差異,其中命令式更加關(guān)注過程,而聲明式更加關(guān)注結(jié)果,對React渲染框架知識感興趣的朋友跟隨小編一起看看吧
    2022-06-06
  • React數(shù)據(jù)傳遞之組件內(nèi)部通信的方法

    React數(shù)據(jù)傳遞之組件內(nèi)部通信的方法

    這篇文章主要介紹了React數(shù)據(jù)傳遞之組件內(nèi)部通信的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • react diff算法源碼解析

    react diff算法源碼解析

    這篇文章主要介紹了react diff算法源碼解析的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用react,感興趣的朋友可以了解下
    2021-04-04
  • ahooks控制時(shí)機(jī)的hook實(shí)現(xiàn)方法

    ahooks控制時(shí)機(jī)的hook實(shí)現(xiàn)方法

    這篇文章主要為大家介紹了ahooks控制時(shí)機(jī)的hook實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • react native 原生模塊橋接的簡單說明小結(jié)

    react native 原生模塊橋接的簡單說明小結(jié)

    這篇文章主要介紹了react native 原生模塊橋接的簡單說明小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • React18從0實(shí)現(xiàn)dispatch?update流程

    React18從0實(shí)現(xiàn)dispatch?update流程

    這篇文章主要為大家介紹了React18從0實(shí)現(xiàn)dispatch?update流程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • React-Native中一些常用組件的用法詳解(一)

    React-Native中一些常用組件的用法詳解(一)

    這篇文章主要跟大家分享了關(guān)于React-Native中一些常用組件的用法,其中包括View組件、Text組件、Touchable類組件、TextInput組件以及Image組件的使用方法,分別給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。
    2017-06-06
  • react native之ScrollView下拉刷新效果

    react native之ScrollView下拉刷新效果

    這篇文章主要為大家詳細(xì)介紹了react native之ScrollView下拉刷新效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • React新文檔切記不要濫用effect

    React新文檔切記不要濫用effect

    這篇文章主要為大家介紹了React新文檔濫用effect出現(xiàn)的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評論

滁州市| 伽师县| 蒲江县| 海伦市| 抚州市| 陆丰市| 邯郸市| 宜黄县| 鹰潭市| 淮南市| 仪陇县| 蓬安县| 合江县| 怀集县| 元朗区| 伊宁县| 祥云县| 巴中市| 古田县| 崇仁县| 辉南县| 宽甸| 盖州市| 平果县| 龙口市| 乌拉特前旗| 喜德县| 邓州市| 韶山市| 连平县| 密云县| 连州市| 宝坻区| 绥宁县| 微博| 固始县| 渑池县| 桃园市| 南漳县| 汽车| 万盛区|