使用三元运算符 return HTML

Using a ternary operator to return HTML

我知道如何使用这样的三元运算符:

{ this.state.showThanks ? 'Thanks for your response!' : null }

但我想渲染 html,然后在点击时删除 html

    { this.state.showThanks ? <input type="submit" className="decisionButtons" id="canDecisionButton" value="I can play" onClick={() => this.canPlay()}/>
                <input type="submit" className="decisionButtons" id="cantDecisionButton" value="I cannot play" onClick={() => this.cannotPlay()}/>
  : 'Thanks for your response!' }

我尝试了类似上面的方法,但出现错误,所以如何在我的反应渲染方法中将 html 放入三元组中?

JSX 元素,比如你的三元表达式 returns 当 showThanks 为真时,总是需要一个父节点。您有两个输入 - 他们需要一个父级,因此将它们包含在 div.

{ this.state.showThanks ? 
<div>
    <input type="submit" className="decisionButtons" id="canDecisionButton" value="I can play" onClick={() => this.canPlay()}/>
    <input type="submit" className="decisionButtons" id="cantDecisionButton" value="I cannot play" onClick={() => this.cannotPlay()}/>
</div>
  : 'Thanks for your response!' }