[英]How to render element on click of button: ReactJS
我正在尝试在您单击按钮后立即呈现段落。
这是我的代码。
import React, { Component } from 'react';
class App extends Component {
constructor() {
super();
this.createText = this.createText.bind(this);
}
createText() {
return(
<p>hello friend</p>
)
}
render() {
return (
<div className="App">
<button onClick={this.createText}>Click</button>
</div>
);
}
}
export default App;
在这里,我试图在单击按钮时呈现“你好朋友”。 但不工作。
这不是正确的方法,因为createText
是一个事件处理程序,它不会呈现元素,您需要的是“元素的条件呈现”。
检查文档以获取更多详细信息Conditional Rendering 。
脚步:
1- 使用初始值为false
的状态变量。
2-单击按钮将值更新为true
。
3- 使用该状态值进行条件渲染。
工作代码:
class App extends React.Component { constructor() { super(); this.state = { isShow: false } this.createText = this.createText.bind(this); } createText() { this.setState({ isShow: true }) } render() { return ( <div className="App"> <button onClick={this.createText}>Click</button> {this.state.isShow && <p>Hello World!!!</p>} </div> ); } } ReactDOM.render(<App />, document.getElementById('app'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id='app' />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.