React 工具箱 - Circular ProgressBar 仅在加载时动画旋转 JSON
React toolbox - Circular ProgressBar only animating rotation while loading JSON
编辑:看来问题不在加载部分,但实际上是反应不喜欢处理这么多元素。我会更新这个post 一旦我有机会确认正在发生的事情,我就会提供详细信息。我的第一个测试 JSON 是一堆重复的条目(所以我的文件需要一些时间来加载)触发了一些组件渲染,我的 Json 中有大约 40000 个条目。使用仅包含 3 个条目的新 json 进行测试,每个条目都有很多嵌套数据,因此我的文件仍然很重并且需要一些时间来加载,确实解决了这个问题。
我完全不明白这怎么可能:
我有一个 json,我正在 http://code.pensionsmilitaires.com/codes
上加载
在加载期间,圆形路径元素没有动画。只需等待 json 完成加载即可看到相同的 ProgressBar 正确动画...
这是我的渲染函数
render() {
console.log("Rendering");
if (this.state.codes.length < 1) {
return (
<ProgressBar type="circular" mode="indeterminate" multicolor/>
);
}
return (
<div>
<ProgressBar type="circular" mode="indeterminate" multicolor/>
<h2>Liste des codes disponibles</h2>
<div>
{this.state.codes.map((code, i) => (
<CodeSummary key={i} code={code}/>
))}
</div>
</div>
);
}
如果有人知道我该如何解决这个问题,那就太棒了!
无论如何,感谢您阅读我的问题^^
所以几年后,只是为了确保任何遇到同样问题的人都能得到答案。
React 实际上正忙于渲染数千个元素,这会冻结基于 JavaScript 的 svg 路径偏移动画,直到 React 释放线程。
因此,在 React 完成渲染之前,圆形进度条没有动画。
在需要渲染大量内容的情况下,windowing, or virtualizing a long list and React concurrent mode 会很有帮助
编辑:看来问题不在加载部分,但实际上是反应不喜欢处理这么多元素。我会更新这个post 一旦我有机会确认正在发生的事情,我就会提供详细信息。我的第一个测试 JSON 是一堆重复的条目(所以我的文件需要一些时间来加载)触发了一些组件渲染,我的 Json 中有大约 40000 个条目。使用仅包含 3 个条目的新 json 进行测试,每个条目都有很多嵌套数据,因此我的文件仍然很重并且需要一些时间来加载,确实解决了这个问题。
我完全不明白这怎么可能: 我有一个 json,我正在 http://code.pensionsmilitaires.com/codes
上加载在加载期间,圆形路径元素没有动画。只需等待 json 完成加载即可看到相同的 ProgressBar 正确动画...
这是我的渲染函数
render() {
console.log("Rendering");
if (this.state.codes.length < 1) {
return (
<ProgressBar type="circular" mode="indeterminate" multicolor/>
);
}
return (
<div>
<ProgressBar type="circular" mode="indeterminate" multicolor/>
<h2>Liste des codes disponibles</h2>
<div>
{this.state.codes.map((code, i) => (
<CodeSummary key={i} code={code}/>
))}
</div>
</div>
);
}
如果有人知道我该如何解决这个问题,那就太棒了! 无论如何,感谢您阅读我的问题^^
所以几年后,只是为了确保任何遇到同样问题的人都能得到答案。
React 实际上正忙于渲染数千个元素,这会冻结基于 JavaScript 的 svg 路径偏移动画,直到 React 释放线程。
因此,在 React 完成渲染之前,圆形进度条没有动画。
在需要渲染大量内容的情况下,windowing, or virtualizing a long list and React concurrent mode 会很有帮助