【发布时间】:2021-09-28 16:35:16
【问题描述】:
使用三元语句根据shouldRenderPlanA 属性(解析真或假)呈现不同的JSX。然而,问题是shouldRenderPlanA 三元检查出现错误,内容如下:
“非预期令牌?,应为令牌:”
谁能解释我哪里出错了? TIA
return (
<>
{options.map(option)}
<StyledRow>
{variousOptions.map((opt) => (
{shouldRenderPlanA ? (
<StyledLabelOptionOne
variousProps={variousProps}
/>
) : (
<StyledLabelOptionTwo
variousProps={variousProps}
/>
)}
))}
</StyledRow>
</>
);
我怀疑这与地图内部发生的检查有关?
【问题讨论】:
-
这是因为你在已经在 JS 上下文中时使用过大括号。您正在编写一个返回对象的箭头函数,在这种情况下,
?后面的键名是没有意义的。 -
您正在尝试在 JSX 之外使用 JSX 语法。
=> (和<StyledLabelOptionOne之间的所有内容都是普通的 javascript。所以你需要用return替换{ -
将其包装在一个新元素中
-
意外令牌
?错误是因为 js(不是 jsx)认为您正在尝试声明一个对象字面量。期待:
标签: javascript reactjs map-function