我每5秒使用setTimeout从后端检索消息日志,并将其存储在状态变量中。每次超时时,我都会让它滚动到聊天窗口的底部,但只有在响应对象中出现新消息时,才会出现这种情况。问题是我无法访问检索它的函数中的状态变量。理想情况下,我会将响应对象的长度与状态变量的当前长度进行比较,以确定是否有新的响应。这是我的密码: import axios from "axios"
export defa
在这个函数中,我需要访问组件当前状态变量。我知道我可以在useEffect依赖项数组中传递状态变量,但在我的实际示例中,只需要在组件卸载时调用该效果一次,并且将其添加到数组中将导致在每次呈现时调用它。此外,我尝试了状态变量的useCallback、useRef,并搜索了类似的用例和示例,但没有成功,我觉得我遗漏了一些东西。
是否有满足这两种需求的方法(只调用一次并访问当前状态变量)?import * as React from "react&