在我的代码中,我试图将条件语句放在条件语句(我认为很简单的东西)中。
需要做的是,如果weekState (boolean)为true,并且bool为true,则显示第一个jsx元素。如果jsx为true,bool为false,则显示第二个jsx元素。如果weekState为false,则返回null。很简单,但我显然遗漏了一些东西。
{ weekState ?
{ bool ?
<TableRow>
{take(weekListForAllAdvisorsOfState, 14)}
</TableRow>
:
<TableRow>
{take(weekListForAllAdvisorsOfState, 7)}
</TableRow>
}
: null
}我看过this和this,它们本可以解决我的问题,并让我觉得有一个语法错误我看不到。
我得到的错误是

发布于 2021-02-01 21:33:26
在?后面的表达式中有一对不必要的大括号。删除它们,或者将它们更改为圆括号()
{weekState ? (
bool ? (
<TableRow>{take(weekListForAllAdvisorsOfState, 14)}</TableRow>
) : (
<TableRow>{take(weekListForAllAdvisorsOfState, 7)}</TableRow>
)
) : null}发布于 2021-02-01 21:29:54
我认为添加一个片段应该可以解决这个问题:
{ weekState ?
<React.Fragment>
{ bool ?
<TableRow>
{take(weekListForAllAdvisorsOfState, 14)}
</TableRow>
:
<TableRow>
{take(weekListForAllAdvisorsOfState, 7)}
</TableRow>
}
</React.Fragment>
: null
}https://stackoverflow.com/questions/65993453
复制相似问题