首页 > 解决方案 > 我如何获得对列表引用和元素引用的引用?

问题描述

我正在迁移一个聊天组件以使用虚拟化反应,但在我当前的实现中,我需要使用包含recomputeRowHeightsforceUpdate、 forceUpdateGrid 的listRef。因为在我的实现中,一条消息不是一个单独的项目,而是最后 5 秒内发送的一堆消息。所以行高增加了,但列表高度没有。

<div class="item">
  <div>
   //user's information
  </div>
  <div>
   <div class="message">
   </div>
   // repeat to the last messages sent
  </div>
</div>

我发现调整列表高度的方法是在最后一条消息的计数发生变化时查看,所以我重新计算最后一行并请求更新列表高度,没有它,行高会增加并且行没有完整显示.

但是在当前实现中,要知道消息是否被读取,我们向 scoll 添加一个事件并调整大小并计算项目是否在视口中,所以我需要访问元素引用来调用 addEventListner。我发现了这个问题,但是使用这种方式我可以找到一种访问列表引用的方法。

标签: javascriptreactjsreact-virtualized

解决方案


推荐阅读