【发布时间】:2017-06-07 11:19:06
【问题描述】:
我一直在到处搜索,但找不到我的问题的答案。所以我想要一个仅在某些条件下显示的条件属性,例如:
<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属性(AFAIK 没有原生 html 活动属性,但disabled)? -
@mrlew 一个 active 属性。我实际上解决了它并发布了更新,但我仍然想知道 2 语法之间的区别。与
active=true相比,在组件内部打印active会更容易 -
我明白你的意思。刚刚替换了我的答案。
标签: javascript reactjs jsx react-bootstrap