当前位置: 首页 > 知识库问答 >
问题:

不变冲突:部署时出现无效钩子调用错误

班承恩
2023-03-14

我的应用程序一直在工作,直到最后一次提交。

现在,它在< code>npm start上工作正常,但是在使用< code>npm run builder部署它之后,我遇到运行时错误:

不变冲突:缩小的反应错误# 321;访问https://reactjs.org/docs/error-decoder.html?invariant=321获得完整的消息,或者使用非精简的开发环境获得完整的错误和其他有用的警告。

未捕获的不变违规:缩小的反应错误#321;访问https://reactjs.org/docs/error-decoder.html?invariant=321获取完整消息或使用非缩小的开发环境获取完整错误和其他有用的警告。

错误屏幕截图

这会导致无效的挂钩错误

无效的钩子调用。钩子只能在函数组件的主体内部调用。

为了解决这个问题,我添加了eslint规则< code > " react-hooks/rules-of-hooks ":" error " 。

看起来我的项目没有< code >无效挂钩错误(如前所述,它在< code>npm start上运行良好)。

//package.json
"scripts": {
    "start": "NODE_PATH=src/ PORT=9050 react-app-rewired start",
    "builder": "NODE_PATH=src/ react-app-rewired --max_old_space_size=4096 build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject",
    "build": "./dockerfile/build.sh simulator",
    "start:server": "node ./server/server.js",
  }

知道如何修复部署错误吗?

共有1个答案

华炜
2023-03-14

通过升级反应脚本,npm安装react-scripts@latest解决了这个问题。

然后,您应该清除缓存(开发工具中的Application选项卡)并硬加载(Ctrl Shift R

 类似资料:
  • 我正努力让你去工作。以下是功能组件: 我称之为: 我得到一个错误,如下所示: 错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。发生这种情况的原因如下:1。React和渲染器(如React DOM)2的版本可能不匹配。你可能违反了Hooks 3的规则。同一应用程序中可能有多个React副本。 我已经调试并确认我使用的是单一版本。也许我使用状态钩子不正确? 这里是我调用自定义钩子的地方:

  • 我正在React中制作一个RecipeBox应用程序,在我尝试实现搜索功能之前,它运行良好。一旦用户在搜索栏中输入搜索项,就会抛出错误。此方法中的块抛出错误- 这是错误消息- 控制台显示- 这表明是一个包含对象的数组。但是会抛出错误- 有趣的是,如果我删除搜索栏功能并完全删除else块,相同的语句就可以正常工作,不会抛出任何错误- 这是我在Codepen上的应用程序。 复制步骤- 在搜索栏中搜索现

  • 在组件的呈现函数中,我有: 所有内容都显示良好,但单击 元素时,我会收到以下错误: 未捕获得错误:不变冲突:对象作为React子级无效(找到:具有键得对象{dispatchConfig,dispatchMarker,nativeEvent,target,currentTarget,type,eventPhase,bubbles,cancelable,timeStamp,defaultPrevent

  • 我有一个组件看起来是这样的(非常简化的版本): 加载使用此组件的页面时,出现以下错误:我试图找到此错误的解释,但搜索未返回任何结果。 当我稍微修改组件时: 我再也不知道那个错误了。是因为我在由返回的jsx中包含了函数吗?如果能有一个解释为什么修复是有效的,那就太好了。

  • 错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: React和渲染器的版本可能不匹配(例如React DOM) 你可能违反了钩子的规则 同一个应用程序中可能有多个React副本请参见reactjs。org/link/invalid hook call获取有关如何调试和修复此问题的提示 ./src/index.js/ 5 |从导入reportWebVitals/报告

  • 我得到以下错误,不确定我在箭头函数内实例化 react 钩子时做错了什么: 错误:挂接调用无效。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 您可能有不匹配的React和渲染器版本(如React DOM)。 您可能违反了钩子的规则。 同一应用程序中可能有多个React副本。请参阅https://reactjs.org/link/invalid-hook-call有关如何调试和修复此