Reactjs TypeError:对象(…)不是带“的函数”;使用回调",在React版本16.13.1中

Reactjs 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",

我在浏览器的localhost端口上收到一条错误消息,我尚未部署我的代码:

TypeError:对象(…)不是函数

新事件 src/events/pages/NewEvent.js:51


下面是我在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