前端之家收集整理的这篇文章主要介绍了
React生命周期,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- <!DOCTYPE html>
- <html>
- <head>
- <Meta charset="UTF-8" />
- <title>React生命周期</title>
- <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
- <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
- <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
- </head>
- <body>
- <div id="root"></div>
- <script type="text/babel">
- class Components extends React.Component {
-
- constructor(props){
- super(props);
- this.state = {}
- }
- componentWillMount(){
- console.log("实例化:componentWillMount")
- }
- componentDidMount(){
- console.log("实例化:componentDidMount")
- }
- componentWillReceiveProps(){
- console.log("存在期:componentWillReceiveProps")
- }
- shouldComponentUpdate(nextProps,nextState){
- console.log("存在期:shouldComponentUpdate",nextProps,nextState)
- return true;
- }
- componentWillUpdate(){
- console.log("存在期:componentWillUpdate")
- }
- componentDidUpdate(){
- console.log("存在期:componentDidUpdate")
- }
- render() {
- if(!this.props.reRender){
- console.log("实例化:render")
- }else{
- console.log("存在期:render")
- }
- return (
- <div>
- <br />
- 请查看下面的console
- <br />
- </div>
- )
-
- }
- }
- Components.defaultProps = {
- text: "hello word",}
- class App extends React.Component{
- constructor(props){
- super(props);
- this.state = {}
- }
- refresh(){
- return (e)=>{
- this.setState({
- reRender: true,})
- }
- }
- render(){
- return (
- <div>
- <Components reRender={this.state.reRender}/>
- <button onClick={this.refresh()}>
- 更新Component
- </button>
- </div>
- )
- }
- }
- ReactDOM.render(<App />,document.getElementById('root'));
- </script>
- </body>
- </html>