【发布时间】:2021-04-24 10:28:33
【问题描述】:
我是新人反应。我想在主 React.Component.render() 中包含一个部分 JSX 块,如下所示:
showWarning(){
if (this.state.warning)
return <h2>Warning ! Please hide this thing by clicking below</h2>
else
return null
}
render() {
const shouldShow = this.showWarning() //Fetching a conditional part
return (
<>
shouldShow //The part fetched above should be added here
<input
type="submit"
value={this.state.warning ? "Hide" : "Show"}
onClick={this.toggleWarn}
/>
</>
);
}
我知道解决此问题的一种方法是这样,但这会导致 <input> 的复制:
if (this.state.warning)
return (
<>
<h2>Warning ! Please hide this thing by clicking below</h2>
<input
type="submit"
value={this.state.warning ? "Hide" : "Show"}
onClick={this.toggleWarn}
/>
</>
);
else return (
<input
type="submit"
value={this.state.warning ? "Hide" : "Show"}
onClick={this.toggleWarn}
/>
);
}
有什么解决办法吗?
【问题讨论】:
标签: javascript reactjs react-component