使用异步反应组件构建页面在构建文档时不会呈现最新的迭代

Building page with asynchronous react component does not render the latest iteration when building the documentation

我一直在将我的文档从 Jekyll 迁移到 docusaurus V2。

上下文

我需要从 CSV 文件中获取数据,以便在文档中将它们显示为 table。

为此,我创建了一个自定义的 React 组件来获取和格式化数据。 由于该过程是异步的,因此组件第一次呈现时会显示后备 'No data' 段落。

几毫秒后,数据已被提取和处理,组件的渲染再次被触发,最后显示 table。

当我使用带有内置服务器的 npm-start 执行此操作时,一切都很好。但是,当我构建文档时,组件似乎没有机会呈现数据。

这意味着在静态页面版本上显示“无数据”

这是组件代码的片段:https://jsfiddle.net/mkLd5ayx/

这是我在 mdx 文件中的内容:

import CsvTable from '@site/src/components/CsvTable'

## Functional overview

<CsvTable id="environmental-operational-characteristics" tableType="characteristics" tableCategory="Environmental operating conditions" tableDesign="FS-LT"></CsvTable>

图 1:在本地服务器上

图 2:从远程服务器提供静态网页时

我在这个问题的 github 讨论中得到了答案。

https://github.com/facebook/docusaurus/discussions/4333

Docusaurus 不处理组件级别的生命周期,因此我必须在构建之前预处理 csv 文件,然后在我的反应组件中需要它们而不是获取它们。