我在多行上有多列数据。对于每个数据元素,我都有一个反应元素。第一行可能有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] = ...
反应以某种方式将数字全部放在一边(好像语句已执行并且呈现的变量而不是为下一个语句保留)。
答案 0 :(得分:2)
这不是有意义的JSX。你可以像这样传播道具
<ColumnSpan row={1} {...getStartEnd(2, this.props)} />
您可以阅读更多关于将道具传播到JSX here。
的内容