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

问题描述

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

背景

我需要从 CSV 文件获取数据,以将它们显示为文档中的表格。

为此,我创建了一个自定义 React 组件来获取和格式化数据。 由于该过程是异步的,因此组件首次呈现时会显示回退“无数据”段落。

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

当我使用带有内置服务器的 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:在本地服务器上

local rendering of the component

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

remote viewing of the page

解决方法

我在 github 讨论中得到了有关此问题的答案。

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...