我正在尝试根据某个值向组件添加不同的 Id。
我的方法如下
id={activePage === ('dashboard' || 'evc_detail')? 'bg_gradient':'bg_normal'}
在这种情况下,如果activePage
等于则添加正确的 id,但如果等于dashboard
则不注册。我使用这种情况的方式是否错误,我该如何解决?activePage
evc_detail
我正在尝试根据某个值向组件添加不同的 Id。
我的方法如下
id={activePage === ('dashboard' || 'evc_detail')? 'bg_gradient':'bg_normal'}
在这种情况下,如果activePage
等于则添加正确的 id,但如果等于dashboard
则不注册。我使用这种情况的方式是否错误,我该如何解决?activePage
evc_detail
如果要进行多重比较,则需要手动说明:
(activePage === 'dashboard' || activePage === 'evc_detail') ? 'bg_gradient' : 'bg_normal'
另一种选择是创建一个项目数组(或一个集合),并使用Array.includes()
(或Set.has
) 检查项目是否在组中:
const gradientPages = ['dashboard', 'activePage']
gradientPages.includes(activePage) ? 'bg_gradient' : 'bg_normal'
如果'dashbarod' 不是因为它的评估方式,你的原始表达式activePage === ('dashboard' || 'evc_detail')? 'bg_gradient':'bg_normal'
不起作用:activePage
'dashboard' || 'evc_detail'
被评估,因为 'dashboard' 是一个真实的表达式,结果总是dashboard
.activePage
。如果activePage
是 'dashboard',则结果为true
,否则为false
.