使用三元运算符 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!' }
我知道如何使用这样的三元运算符:
{ 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!' }