React工具箱 - 循环ProgressBar仅在加载JSON时动画旋转

时间:2016-12-31 12:34:30

标签: reactjs react-jsx

编辑:似乎问题不在于加载部分,但它实际上是反应,不喜欢处理这么多元素。我会尽快更新这篇文章的详细信息有机会确认发生了什么。我的第一个测试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>
  );
}

如果有人知道如何解决这个问题,那就太棒了! 感谢您无论如何阅读我的问题^^

1 个答案:

答案 0 :(得分:0)

所以几年后,只是为了确保任何有同样问题的人都能得到答案。

React 实际上正忙于渲染数千个元素,这会冻结基于 JavaScript 的 svg 路径偏移动画,直到 React 释放线程。

因此,在 React 完成渲染之前,圆形进度条没有动画。

在需要渲染大量内容的情况下,windowing, or virtualizing a long listReact concurrent mode 会很有帮助