【发布时间】:2021-10-06 09:18:07
【问题描述】:
我使用作为当前滚动值的 ref 管理组件中的滚动。我不能使用 state 和 setState,因为当用户滚动时 setState 方法会让事情变得非常不稳定和不可能。因此,我决定使用不重新渲染组件的 refs,而是在组件重新渲染时保存值。 我的问题是我无法为 ref 设置初始值。当我使用一个类组件时,我不能使用简单的 useRef react 钩子,它允许轻松设置初始值......相反,我使用 React.createRef() 但是当我将值放在括号 () 中时,它不会似乎注册它并且在用户滚动之前是未定义的。 我该如何解决?
【问题讨论】:
-
this.scrollPosition.current = 201,在你创建它之后。 -
能否提供您的渲染和构造函数代码?
-
AFAIK 将参数传递给 createRef 不会改变任何东西。使用 ref 属性初始化 Refs
-
@MartinGodzina 我已经从 cmets 获得了解决方案。我的渲染方法太大而无法粘贴到这里。我认为你是对的,我认为 createRef 方法甚至不会等待任何参数。
-
请把图片去掉,换成代码的文字。
标签: javascript reactjs use-ref