我可以在反应中提供变量吗?#39;渲染'声明

时间:2018-06-04 20:43:58

标签: javascript reactjs

我在多行上有多列数据。对于每个数据元素,我都有一个反应元素。第一行可能有4到6个元素 例如,我显示用户的姓名,生日和电子邮件。如果用户输入了可选信息,我也会显示该信息 因此,对于其他用户,我可能会显示姓名,生日,电子邮件,电话号码和州 为了不弄乱布局,我需要计算数据的开始和结束列,以便第一个元素(名称)填充布局。

我可以在return语句中进行内联计算,但出于抽象目的,我想让函数返回start和end列。我想将它保存在每行的变量中。像这样:
{({ start, end } = getStartEnd(2, this.props))} <ColumnSpan row={1} start={start} end={end}>

这会导致错误Objects are not valid as a React child (found: object with keys {start, end}). If you meant to render a collection of children, use an array instead.

如果我使用数组[start, end] = ...反应以某种方式将数字全部放在一边(好像语句已执行并且呈现的变量而不是为下一个语句保留)。

1 个答案:

答案 0 :(得分:2)

这不是有意义的JSX。你可以像这样传播道具

<ColumnSpan row={1} {...getStartEnd(2, this.props)} />

您可以阅读更多关于将道具传播到JSX here

的内容