问题标签 [react-window]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - How can I dynamically calculate row height by row index for VariableSizeList?
I need to render long list via react-window library. I can't be sure that all rows will be the same size so it forces me to use VariableSizeList. So is there a way to calculate row height when you know only index of row and actual data to be rendered?
I think it's possible to render it somehow not visible to the end user and get height from but I'm not sure is it the right way.
javascript - 使用 anchorPosition 的 React/MUI Popover 定位不正确
我在react-window List 元素中使用 React/MUI Popover 并且无法正确定位 Popover - 它总是在窗口的左上角结束(组件无法执行 getBoundingClientRctd( )在锚元素上[anchorEl
在文档中])。
所以为了暂时解决这个问题,我决定使用anchorPosition
允许设置绝对位置的参数——在我的例子中,就在窗口的中间。那也不行。
我已经查看了 Chrome DevTools 中的值,一切似乎都很好(即,当我使用它时,我确实得到了一个 anchorEl;我得到了有效的 positionLeft/Top 值;等等......
可能是非常简单的事情,希望有人能指出我做错了什么。
编辑:解决方案的关键要素
Row
组件必须在包含组件之外定义。- 该
<List>
组件有一个itemData
属性,用于将自定义数据传递给Row
.
编辑添加 react-window 列表渲染器。
这是基本设置:
弹出框渲染器
按钮元素渲染器
单击事件处理程序
反应窗口列表渲染器
reactjs - 使用 react-window 防止 DOM 元素在虚拟化树组件中重新渲染
我想重新实现一个树组件来提高它的性能。我使用了 react-window 中的 FixedSizeList。它的工作相对较好。它甚至可以处理 100,000 个树节点。
我的问题是,我想为树节点的小开口三角形设置动画。以下css负责动画:
动画不起作用。因为在每次打开和关闭时所有的列表元素 div 都会重新渲染。然后我尝试为列表添加 itemKey 属性以帮助 React 重用 div。
它也不起作用。div 不会更新,而是重新渲染整个 div。这个问题有合适的解决方案吗?如何防止重新渲染?
这是整个示例:https ://codesandbox.io/s/a-quick-react-tree-component-based-on-react-window-tyxnm
node.js - 如何部署包含分叉 github 存储库的 heroku 应用程序
我有一个Node
正在运行的应用程序heroku
。
现在我想对react-window
我正在使用的包进行一些更改(我第一次尝试这个)
所以我分叉了react-window
repo 并使用以下方法替换了原始包:
当我在本地机器上构建它时,一切都很好,并且使用了分叉的包。
但是当我尝试heroku
在构建上部署它失败时,我收到了这个错误:
我试图指向一个特定的分支,但这也不起作用:
当我重新安装原始软件包时,一切都很好。
所以我的问题是:在部署到时添加分叉包的正确方法是什么heroku
?
reactjs - 反应窗口和无限加载器滚动问题
我在 itemCount 中给出了一个任意数字,因为我的列表长度未知。当我向下滚动时,infiniteloader 仅第一次正常加载数据。但是在我的窗口视图完全空白后它会加载。
假设我的数组列表在每次提取时包含 10 个项目。如何在向下滚动并及时显示内容时立即加载数据?
javascript - 跟踪由 react-window 渲染的项目的可见性
我正在寻找一种方法来知道使用 react-window 时屏幕上可以看到哪个列表项。
isVisible 道具错误地返回了可见性。
https://codesandbox.io/s/bvaughnreact-window-fixed-size-list-vertical-nmukq
这可能是因为缓存项目,但我想知道是否有另一种方法来跟踪项目的可见性
reactjs - (react-window) 如何将 props 传递给 {Row}{排}
我正在使用名为react-window 的库
当我像这样将道具传递给它的行时:
它给了我一个类似的错误:
React.createElement: type is invalid -- 期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但是得到:...
正确的方法是如何做到这一点?
reactjs - (react-window) 如何包装 {Row}或任何自定义组件?
我正在使用名为react-window 的库
它是用于有效呈现大型列表和表格数据的库。
这是来自文档的示例代码:
我想要做的是用<div>
或任何其他自定义组件包装 {Row} 。
因为我想实现一些样式并且还要折叠过渡。
请注意,我不能简单地这样做:
因为它将用包装器组件包装每个列表项,而不是用单个包装器组件包装整个列表。
我想用单个包装器组件包装整个列表。