问题描述
我一直在将我的文档从 Jekyll 迁移到 docusaurus V2。
背景
我需要从 CSV 文件中获取数据,以将它们显示为文档中的表格。
为此,我创建了一个自定义 React 组件来获取和格式化数据。 由于该过程是异步的,因此组件首次呈现时会显示回退“无数据”段落。
几毫秒后,数据已被获取和处理,组件的渲染再次被触发,最终显示表格。
当我使用带有内置服务器的 npm-start 执行此操作时,一切都很好。然而,当我构建文档时,组件似乎没有机会呈现数据。
这是组件代码的片段:https://jsfiddle.net/mkLd5ayx/
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 文件进行预处理,然后在我的 React 组件中需要它们而不是获取它们。