问题描述
我有一个运行 React 的旧项目。其中一个组件渲染了一个水平树视图,如 this one。当您单击文件夹时,它会呈现子文件夹。
现在这个组件只渲染根文件夹,我已经找到了问题所在,但我不知道如何解决它。 这是负责的方法,它使用 react-virtualized 组件
renderItems(items) {
if (items.length > 0) {
return (
<div className="panel-wrapper">
<AutoSizer>
{({ height,width }) => (
<List
width={width}
height={height}
rowCount={items.length}
rowHeight={42}
roWrenderer={this.roWrenderer(items)}
/>
)}
</AutoSizer>
</div>
);
}
return null;
}
这个方法被调用两次:一次用 items
填充父文件夹,然后用子文件夹。
与父母一起工作正常但是当它再次被调用并在它进入 AutoSizer
之前回调 items
被正确填充,在它进入后 items
被父文件夹填充所以它只呈现父母.
似乎更新客户端改变了组件生命周期,因此方法被调用错误
如何将正确的项目传递给 roWrenderer?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)