问题标签 [eslint-plugin-react-hooks]
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 - 我无法删除使用 react 制作的待办事项列表中的项目,请帮助我解决代码中的错误
以下是我的待办事项列表代码,我无法在删除项目功能中删除列表中的项目,请帮助我解决错误。
reactjs - React 的 useEffect 依赖数组是反模式吗
我对 React 中的 useEffect 和依赖数组有疑问。据我了解 useEffect 可以处理状态变化的副作用。
假设我正在创建一个像 Zoom 这样的应用程序。因此,对于接收方呼叫,当名为“callState”的局部状态变量等于应答时,我有处理 useEffect 中呼叫请求的代码:
这里的问题是我只想在 callState 更改时调用 answerCall useEffect 但它确实需要使用许多状态变量。我有条件if (!remoteRequest || callState !== CallState.Answering) return
,所以如果 callState 没有得到回答,我会阻止 useEffect 运行,但是我不断调用 useEffect 似乎很奇怪,它实际上只意味着在 callState 更改时运行,如果其中一个状态我需要一个条件来提前保释变量,例如 localStream 更改(例如,如果我将流更改为后置摄像头)。看起来这种设计很容易出现错误和错误,即使它更具声明性。
我添加了 console.log('answering') 来说明我的观点。如果用户登录,callState 设置为挂断,当前用户刷新属性,localStream 更改.. 在所有这些情况下,它会将“应答”记录到控制台。
我可以添加 '// eslint-disable-next-line react-hooks/exhaustive-deps' 并且只添加 callState 但有很多文章对此提出警告:
https://dev.to/aman_singh/why-effects-should-t-lie-about-their-dependencies-1645
https://betterprogramming.pub/stop-lying-to-react-about-missing-dependencies-10612e9aeeda
我在这里想念什么?