问题标签 [use-effect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 尝试在反应js中进行计数器时超过最大调用堆栈大小
尝试在 React js 中进行计数器时超出最大调用堆栈大小。我正在使用功能组件来创建计数器。这将从0开始,每次增加10,直到达到最大限制。 这是我的代码
javascript - useEffect React Hook 使用异步等待多次渲染(提交按钮)
我试图基本上禁用提交按钮,所以我的 api 调用只被触发一次/在操作已经进行时有人不能再次点击提交。
我将 runOnSubmit 函数转换为异步函数并直接调用它。我已经基于许多其他解决方案,基本上当我这样做和调试时,我可以说 isSubmitting 仍然设置为 true 并且钩子被多次调用/ submitAsync 函数被调用两次。
基本上, setSubmitting 会被调用,但实际上在再次刷新之前不会做任何事情。我希望它只被调用一次。我不知道为什么 submitAsync 甚至会运行多次,因为依赖项(错误)没有改变。如果他们正在改变,那么 noErrors 第二次会有所不同,它甚至不会击中那个块。
更新-添加更多信息:
由于此函数将 Submitting 设置为 true,它应该重新运行 useEffect 函数,因为 isSubmitting 在依赖数组中。
按钮调用提交并禁用它:
我的按钮组件:
第二次编辑-在 console.logs 中添加:
运行时:
这里没有多大意义的问题是“提交后的控制台”在“函数后”之前运行。就好像异步等待没有做任何事情。
reactjs - React.useEffect 缺少依赖项 - 状态
我收到错误“React Hook React.useEffect 缺少依赖项:'openPosts'”,其中 openPosts 是 Hook 中的状态。
我已经阅读过,但我不明白为什么我会收到这个错误。我可以忽略它吗?
我本质上希望通过更改来过滤状态,props.userId
并认为这将是一种干净的方式。我还可以创建更多状态来跟踪任何变化,props.userId
但如果上述方法可行,我更喜欢它。
reactjs - 正确/错误忽略一些 React useEffect 依赖警告?
这是我编写的一些可以正常工作的示例代码:
我在控制台中收到此警告:
React Hook useEffect 缺少依赖项:“customer.roles”和“rolesData.roles”。要么包含它们,要么删除依赖数组 react-hooks/exhaustive-deps
问题是,代码现在可以正常工作,并且在某些情况下,当我按照指示添加此类依赖项时,我最终会遇到无限循环或其他问题。
当您遇到类似情况时,如果您就如何解决此问题提供任何建议,我将不胜感激。
reactjs - How to call separate code for every single prop in useEffect
I would like to make useEffect method, which is calling when any prop is changed but not all the code, just a single one dedicated for this props
I imagine something like that ... In this moment all the code is called whed one, two or three is changed.
javascript - React useEffect 附加脚本未触发
我正在尝试加载一个脚本,该脚本一旦触发就会生成一个 iframe 和一个天气小部件。我可以正确附加脚本,但它不会被调用并且不会生成 iframe
我试过直接在渲染中添加脚本,它会短暂加载 iframe 然后切换回脚本标签
reactjs - 如果我想监听元素的 boundingClientRect() 变化,应该在 useEffect 的依赖数组中放入什么?
每当我的布局中的某些内容发生变化时,我试图获得一个position:absolute
指向重新定位的箭头,如果这会影响到的位置(例如侧边栏打开或关闭或窗口被调整大小)。
无论何时发生变化的东西。不幸的是,将etc 添加到依赖项数组中不起作用。在这种情况下,它只会在状态改变时更新一次箭头,而不是平滑地跟随目标的动画。targetelement
targetelement
boundingClientrect
targetelement
elemRect.left
我也尝试过ResizeObserver
,它不会在目标元素移动时触发,而只会在它调整大小时触发。
省略依赖数组(如示例中所示)实现了我想要发生的事情,但它完全炸毁了计算机。我还经常收到“超出最大更新深度错误”,这是有道理的,因为箭头基本上一直在更新状态。
使用useLayoutEffect
也不行。
我有一个我需要的小例子:
https://codesandbox.io/embed/suspicious-haze-4jdi1
我很乐意就如何正确解决这个问题提出建议。
提前致谢!
reactjs - 如何在 useEffect Hook 中重新渲染组件
好的,所以:
每次使用 props.lang 更改时,我应该在 useEffect 中做什么来重新渲染组件?
reactjs - 如何在useEffect钩子反应中停止内存泄漏
我正在使用效果挂钩从服务器获取数据,这些数据被传递到反应表,在那里我使用相同的 api 调用从服务器加载下一组数据。当应用程序被加载时,我收到如下警告
效果挂钩:
反应表页面:
设置过滤功能:
有谁知道如何清理反应中的钩子
reactjs - useEffect Hook 不会触发包含在其中的函数
我的 reactjs 应用程序中有以下组件:
如您所见,我正在使用 React Hook useEffect 像这样 ::-
问题是如果我在里面添加一个console.log useEffect
,我会在控制台中看到console.log。但是该功能getMoviesDiscover
永远不会执行。getMoviesDiscover 函数位于外部文件中,如下所示:
为什么我的 useEffect Hook 没有调用该函数?