【发布时间】:2019-11-20 19:28:28
【问题描述】:
我正在使用IntersectionObserver api 实现无限滚动功能。我正在使用 useRef 挂钩来定位某些元素。
let ref = useRef() 并且我需要在新内容加载时重新分配 ref 以定位新元素。现在重新分配 ref 给 2 个或更多元素相同的 ref。如何安全地将 ref 更改为新元素并删除旧元素。
编辑
重新分配
items[index].ref = ref
【问题讨论】:
-
你能展示你如何分配参考的代码和/或sn-p吗?
-
你不能。假设两个组件都将保持安装状态。使用 2
refs并在所选的之间切换。 -
“需要重新分配” 是否重新分配了您用于 IntersectionObserver 的元素?如果是这样,为什么不使用相同的 ref 保留相同的元素,并在加载更多内容时不断移动到内容的底部?
-
@PatrickEvans 是的,重新分配是为了改变观察者正在查看的内容。如果没有内容我需要调用 api 或触发一些错误处理。
标签: javascript html reactjs dom react-hooks