Javascript 如何重新分配ref钩子
我正在使用Javascript 如何重新分配ref钩子,javascript,html,reactjs,dom,react-hooks,Javascript,Html,Reactjs,Dom,React Hooks,我正在使用IntersectionObserverapi实现一个无限滚动特性。我使用useRef钩子来定位某些元素。 let ref=useRef(),我需要在加载新内容时重新分配ref以指向新元素。现在重新分配ref给2个或更多元素相同的ref。如何安全地将ref更改为新元素并删除旧元素 编辑 重新分配 items[index].ref=ref我发现解决这个问题的最好办法就是改变逻辑。将ref分配给观察者。这样ref就不会改变,您可以使用交叉点观察者的功能(连接和断开连接)指向不同的DOM元素
IntersectionObserver
api实现一个无限滚动特性。我使用useRef钩子来定位某些元素。
let ref=useRef()
,我需要在加载新内容时重新分配ref以指向新元素。现在重新分配ref给2个或更多元素相同的ref。如何安全地将ref更改为新元素并删除旧元素
编辑
重新分配
items[index].ref=ref
我发现解决这个问题的最好办法就是改变逻辑。将ref分配给观察者。这样ref就不会改变,您可以使用交叉点观察者的功能(连接和断开连接)指向不同的DOM元素
更多阅读:您能展示一下如何分配ref的代码和/或片段吗?您不能。假设两个组件都将保持安装状态。使用2
refs
并在所选元素之间切换。“需要重新分配”是您用于IntersectionObserver的元素的重新分配吗?如果是这样的话,为什么不保持相同的元素具有相同的ref,并在加载更多内容时继续移动到内容的底部?@PatrickEvans是的,重新分配是为了改变观察者所看到的内容。如果没有内容,我需要调用api或触发一些错误处理。