Reactjs TypeError:对象(…)不是带“的函数”;使用回调",在React版本16.13.1中
我在浏览器的localhost端口上收到一条错误消息,我尚未部署我的代码: TypeError:对象(…)不是函数 新事件 src/events/pages/NewEvent.js:51Reactjs TypeError:对象(…)不是带“的函数”;使用回调",在React版本16.13.1中,reactjs,object,usecallback,Reactjs,Object,Usecallback,我在浏览器的localhost端口上收到一条错误消息,我尚未部署我的代码: TypeError:对象(…)不是函数 新事件 src/events/pages/NewEvent.js:51 下面是我在package.json中的react版本: "dependencies": { "react": "^16.13.1", "react-dom": "^16.13.1",
下面是我在package.json中的react版本:
"dependencies": {
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-router-dom": "5.2.0",
"react-scripts": "^3.2.0",
"react-transition-group": "^4.4.1"
},
我已在我的页面NewEvent.js中导入:
import React, {useCallBack , useReducer} from 'react';
在同一页中,我在一个函数中嵌套了另一个函数:
const [formState, dispatch] = useReducer(formReducer, {
inputs: {
title: {
value: '',
isValid: false
},
description: {
value: '',
isValid: false
}
},
isValid: false
});// this is the initial state that needs to be update in the reducer
const inputHandler = useCallBack((id,value,isValid) => {
dispatch({
type: 'INPUT_CHANGE',
value: value,
isValid: isValid,
inputId: id,
});
}, []);
浏览器中显示的问题如下所示:
const inputHandler = useCallBack((id,value,isValid) => {
当存在多个函数时,useCallBack应该停止代码循环。。
我在网上查看了另一篇帖子,它似乎与react的版本有联系,但我不确定,也很困惑
以下是控制台中的消息:
log.js:24 [HMR] Waiting for update signal from WDS...
NewEvent.js:51 Uncaught TypeError: Object(...) is not a function
at NewEvent (NewEvent.js:51)
at renderWithHooks (react-dom.development.js:14803)
at mountIndeterminateComponent (react-dom.development.js:17482)
at beginWork (react-dom.development.js:18596)
at HTMLUnknownElement.callCallback (react-dom.development.js:188)
at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
at invokeGuardedCallback (react-dom.development.js:292)
at beginWork$1 (react-dom.development.js:23203)
at performUnitOfWork (react-dom.development.js:22154)
at workLoopSync (react-dom.development.js:22130)
at performSyncWorkOnRoot (react-dom.development.js:21756)
at scheduleUpdateOnFiber (react-dom.development.js:21188)
at updateContainer (react-dom.development.js:24373)
at react-dom.development.js:24758
at unbatchedUpdates (react-dom.development.js:21903)
at legacyRenderSubtreeIntoContainer (react-dom.development.js:24757)
at Object.render (react-dom.development.js:24840)
at Module../src/index.js (index.js:7)
at __webpack_require__ (bootstrap:784)
at fn (bootstrap:150)
at Object.1 (Users.js:19)
at __webpack_require__ (bootstrap:784)
at checkDeferredModules (bootstrap:45)
at Array.webpackJsonpCallback [as push] (bootstrap:32)
at main.chunk.js:1
index.js:1 The above error occurred in the <NewEvent> component:
in NewEvent (at App.js:23)
in Route (at App.js:22)
in Switch (at App.js:15)
in main (at App.js:14)
in Router (created by BrowserRouter)
in BrowserRouter (at App.js:11)
in App (at src/index.js:7)
Consider adding an error boundary to your tree to customize error handling behavior.
react-dom.development.js:22665 Uncaught TypeError: Object(...) is not a function
at NewEvent (NewEvent.js:51)
at renderWithHooks (react-dom.development.js:14803)
at mountIndeterminateComponent (react-dom.development.js:17482)
at beginWork (react-dom.development.js:18596)
at HTMLUnknownElement.callCallback (react-dom.development.js:188)
at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
at invokeGuardedCallback (react-dom.development.js:292)
at beginWork$1 (react-dom.development.js:23203)
at performUnitOfWork (react-dom.development.js:22154)
at workLoopSync (react-dom.development.js:22130)
at performSyncWorkOnRoot (react-dom.development.js:21756)
at scheduleUpdateOnFiber (react-dom.development.js:21188)
at updateContainer (react-dom.development.js:24373)
at react-dom.development.js:24758
at unbatchedUpdates (react-dom.development.js:21903)
at legacyRenderSubtreeIntoContainer (react-dom.development.js:24757)
at Object.render (react-dom.development.js:24840)
at Module../src/index.js (index.js:7)
at __webpack_require__ (bootstrap:784)
at fn (bootstrap:150)
at Object.1 (Users.js:19)
at __webpack_require__ (bootstrap:784)
at checkDeferredModules (bootstrap:45)
at Array.webpackJsonpCallback [as push] (bootstrap:32)
at main.chunk.js:1
有人知道这个问题吗
--对不起,我的帖子很长--:D所以我花了一些时间试图重新创建这个错误,最终意识到这是一个不幸的打字错误 简而言之,这样做:
importreact,{useCallback,useReducer}来自“React”
(注意callback中的小写字母b)
只考虑到这么多信息,很难找出实际的错误是什么:TypeError:undefined不是一个函数
但是,TypeError上的MDN(除其他外)声明:
也许函数名中有输入错误
希望这有帮助 天哪!谢谢你的帮助!!!是的,确实是这个问题!太多了!祝您今天过得愉快!
NewEvent
src/events/pages/NewEvent.js:51
48 | isValid: false
49 | });// this is the initial state that needs to be update in the reducer
50 |
> 51 | const inputHandler = useCallBack((id,value,isValid) => {
| ^ 52 | //this function will received the id of the input that changed, value and answer whether it's valid or not
53 | dispatch({
54 | type: 'INPUT_CHANGE',
View compiled
16 stack frames were collapsed.
Module../src/index.js