Javascript Reactjs:Jsx组件的三元内联(嵌套三元)
我有一个react引导Javascript Reactjs:Jsx组件的三元内联(嵌套三元),javascript,twitter-bootstrap,reactjs,checkbox,jsx,Javascript,Twitter Bootstrap,Reactjs,Checkbox,Jsx,我有一个react引导 看起来是这样的: <Checkbox inline onClick={this.handleInclude}> Include </Checkbox> 但这会抛出一个意外的标记错误。你该怎么做呢 编辑: 我忽略了提到复选框确实是用三元结构包装的 {this.state.currentView == "timeline" ? <Checkbox {this.state.chkbox === true ? "ch
看起来是这样的:
<Checkbox inline onClick={this.handleInclude}> Include </Checkbox>
但这会抛出一个意外的标记错误。你该怎么做呢
编辑:
我忽略了提到复选框确实是用三元结构包装的
{this.state.currentView == "timeline" ?
<Checkbox
{this.state.chkbox === true ? "checked" : "" }
inline
onClick={this.handleInclude}>
Include
</Checkbox>
: ""
}
{this.state.currentView==“时间线”?
包括
: ""
}
在三元运算符中使用内部{}
标记时,我收到一个JSX令牌错误。使用checked
属性处理布尔值
<input type={"checkbox"} checked={true} />
<input type={"checkbox"} checked={false} />
另外,请注意:
请注意,在尝试规范复选框和无线电输入的更改处理时,React使用单击
事件代替更改
事件。在大多数情况下,除了在change
处理程序中调用preventDefault
时,这种行为与预期的一样preventDefault
停止浏览器以可视方式更新输入,即使选中了
。这可以通过删除对preventDefault
的调用,或者将checked的切换置于setTimeout
中来解决
总之,不要在this.onChange(event)
组件方法中调用event.preventDefault()
编辑
在JSX中,以下语法的含义相同
<input checked />
<input checked={true} />
请参见文件中的说明 @ApathyBear请尝试我建议的解决方案,这就是我花时间帮助你的原因。使用布尔属性代替选中的属性使用三元。
<input type={"checkbox"} checked={this.state.checked} onChange={this.onChange} />
<input checked />
<input checked={true} />