从技术上讲:因为底层 JavaScript 中没有语法元素可以容纳三个相邻元素。
/* @jsx r */
<div>
{showEMployees ? (
<>
<Employee />
<Employee />
<Employee />
</>
) : (
<p> YO YOU CANT ACCESS IT BRO</p>
)}
</div>
r(
"div",
null,
showEMployees
? r(
React.Fragment,
null,
r(Employee, null),
r(Employee, null),
r(Employee, null),
)
: r("p", null, " YO YOU CANT ACCESS IT BRO"),
);
看看如何注入
React.Fragment
元素来容纳孩子?
如果您没有使用片段,它会编译为
(r(Employee, null), r(Employee, null), r(Employee, null))
这只是 逗号运算符,最终你只会得到一个
Employee
元素。
您也不应该将数组用于静态数量的元素。