美文网首页
react 生命周期函数第一阶段

react 生命周期函数第一阶段

作者: 少__年 | 来源:发表于2019-03-15 22:16 被阅读0次
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>lifeCycle</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>

<body>
    <div id="app"></div>
    <script src="../node_modules/babel-standalone/babel.js"></script>
    <script src="../node_modules/react/umd/react.development.js"></script>
    <script src="../node_modules/react-dom/umd/react-dom.development.js"></script>
    <script type="text/babel">


        class App extends React.Component{
            constructor(props) {
                super(props);
                // 构造只执行一次   重点提醒
                // this.props.title 读取父组件的传递的数据
                // this.state = {} 初始化一个状态
                this.state = {
                   a: props.title,
                   b: this.props.title
                }
                console.log( '01-构造函数1 ' )
            }

            componentWillMount() {
                console.log('02-组件即将被挂载2')
                // console.log(this.refs) 这时不能做dom操作
                // 请求后端接口 真实测试的会出现白屏(页面一直没有图片 文字 html结构 )
                // this.setState() this.state this.props 都是异步的!
                this.setState({
                    c: '请求的数据'
                })
                //console.log(this.state.c)
                setTimeout(()=>{
                    //console.log( this.state.c )
                },2000)
            }

            componentDidMount() {
                console.log('04-组件挂载完成啦4') // 用户在网页上能够看到数据(图片 文字。。。)
                // 这是第一阶段 相当于 用户打开了网页
                // 真实的场景 会在此请求后端数据接口
                // 请求回来的数据 会挂载到state里面
                // 放在state里面的好处
                // 1. 当前组件是根据state的数据进行渲染
                // 2. state的数据是响应式数据 ,一但数据变化了,就会自动触发render函数
                // 例子 点击 当前组件的元素 执行当前的事件函数 更新当前的组件数据b ,数据变化
                // 就是自动触发render数据
                // 当前组件 维护当前组件的 数据(状态)
                console.log( this._btn.style.background = 'skyblue' )
            }

            handleClick = ()=>{
                this.setState({
                    b: '点击事件改变数据'
                })
            }
            render() {
                console.log( '03-开始渲染组件3' )
                // 可以在这一步对 state数据进行处理
                //console.log( this.state.c )
                return (
                    <div>
                        <h1 ref={'h1'}>App</h1>
                        {this.state.a}
                        <hr />
                        有10万行代码要渲染
                        {this.state.b}
                        <button
                            ref={adsadadasd=>this._btn=adsadadasd}
                            onClick={this.handleClick}
                        >点击 </button>
                    </div>
                );
            }
        }
        ReactDOM.render(
            <App title={'abc123'}></App>,
            document.querySelector('#app')
        )

    </script>
</body>

</html>

以上内容仅供本人做笔记使用

相关文章

  • RN-生命周期函数(新)

    旧版生命周期函数 react 16.4 以后生命周期函数 http://projects.wojtekmaj.pl...

  • React 生命周期函数

    https://reactjs.org/docs/react-component.html React生命周期函数...

  • React的生命周期函数

    一、生命周期函数的定义 在某个时刻自动被调用的函数是生命周期函数 二、React中生命周期函数示意图 三、生命周期...

  • 04.React高级部分(中)

    React的生命周期函数 React生命周期函数的使用场景 这一小节,我们来做两个生命周期相关的常用操作1.如何避...

  • useState

    react-hooks 如果你熟悉 React class 的生命周期函数,你可以把 useEffect Hook...

  • 四:React 进阶三 (生命周期)

    react(一):组件的生命周期 生命周期函数 在组件运行的某个时刻,会被自动执行的一些函数。 React生命周期...

  • React快速上手5-react中的事件和生命周期函数

    这节中我们将主要介绍react应用中的事件和生命周期函数 React事件 在react中,我们不用addEvent...

  • react生命周期函数

    react 生命周期函数介绍[https://www.cnblogs.com/kdcg/p/9182393.htm...

  • 2020-09-11

    REACT生命周期 (JS胖老师课程 ) 生命周期函数指在某一个时刻组件会自动调用执行的函数 REACT生命周期的...

  • React 生命周期

    React 16.4 的生命周期图 早期React生命周期图 从图中,我们看到了一些变化 废弃的三个生命周期函数 ...

网友评论

      本文标题:react 生命周期函数第一阶段

      本文链接:https://www.haomeiwen.com/subject/evsdmqtx.html