我已经到处寻找,但找不到我的问题的答案。因此,我想要一个有条件地只在特定情况下显示的属性,例如:
<Button {this.state.view === 'default' && 'active'}></Button>
正如您所看到的,我只想在 this.state.view
等于默认值时指示按钮处于激活状态。然而,我遇到了 Unexpected token, error...
的错误。
但是当我尝试在其前面放置一个属性时,例如:
<Button isActive={this.state.view === 'default' && 'active'}></Button>
虽然它通过了语法错误并且显示得很好,但这不是我想要的结果。
我该如何修复它?而且不能通过的原因是什么?
更新
所以我刚刚发现,在react-bootstrap
中,属性active
是active=true
的速记方式,所以我使用了下面的代码解决了问题。
<Button active={this.state.view === 'default'}></Button>
如果有人遇到这个问题,我在这里留下解决方法。不过,我仍然想知道为什么条件属性在不将其包含在类似于prop的语法中时会失败,例如:
这样:
active={this.state.view === 'default'}
对抗
{this.state.view === 'default' && 'active'}
active
肯定更容易,而不是active=true
。 - JohnnyQ