使用react-window与react-table v7时动态行高在排序/过滤后失效的问题求助
使用react-window与react-table v7时动态行高在排序/过滤后失效的问题求助
我最近在开发一个基于react-window和react-table v7的表格组件,想要实现动态行高的功能。最开始的实现思路是给每个列表项绑定ref,然后通过clientHeight获取真实的行高,再更新行高对象。
但现在遇到了棘手的问题:当我对表格的列(比如状态列)进行排序,或者做过滤操作后,行高并没有跟着数据变化更新,一直保持着原来的固定值。我查了一下,应该是负责更新行高的useEffect没有触发,这逻辑上也说得通,可能是依赖项设置的问题。
后来我翻了React官方文档,看到文档推荐用useCallback来测量DOM节点,于是我尝试把代码改成这种方式,但又碰到了新问题——代码里的ListRef提示“不存在”的错误。
我前后做了两个测试示例,一个是排序后行高固定不变的版本,另一个是改用useCallback后出现ListRef报错的版本,但这两个示例都没能解决“数据变化后动态行高不更新”的核心问题。
有没有大佬能帮我分析下我可能漏掉了什么,或者给个可行的修复方案呀?
备注:内容来源于stack exchange,提问作者Robert Middlekauff
相关产品推荐
相关产品推荐

