我可以在渲染之前计算JSX中的元素吗?

Can I count elements in JSX before rendering?

本文关键字:元素 JSX 计算 我可以      更新时间:2023-09-26

我有一个类,其中有一个表。问题是,其中的列数可能会变化。当没有数据加载到表中时,我需要在这里显示一条消息,例如"没有数据",使用<td colSpan="#"></td>。我需要确定表中colSpan的列数,换句话说,我想计算表头中th元素的数量。在render方法中可能吗?或者可能有更好的方法?

我想我可以渲染表没有"无数据"的消息,然后使用jQuery在componentDidUpdate插入它,但有些东西告诉我这是一个坏主意…

你可以使用React Children实用程序来确定里面是否有任何元素(考虑到你有一个父Table元素,它将包装TableRowTableHeader元素)。我认为这是最合适的方法。

这样你就可以动态地呈现内容,还可以告诉你需要呈现多少元素。

您可能更准确地寻找的是React.Children.count。