美文网首页
3.React生命周期方法

3.React生命周期方法

作者: 萘小蒽 | 来源:发表于2020-08-18 19:03 被阅读0次
  • componentWillUpdate()

当组件再次渲染时(非初始化),在render()方法前调用(在组建的props或者state发生改变时会触发该方法)。

  • componentDidUpdate()

render()函数执行完毕,且更新的组件已被同步到DOM后立即调用。(初始化不会触发)

  • componentWillMount()

在新节点插入DOM结构之前触发。

  • componentIDidMount()

在新节点插入DOM结构之后触发。

  • componentWillUnmount()

在组件从DOM中移除时立刻触发。

var textAreaCounter = React.createClass({
        propType: {
            text: React.PropTypes.string.isRequired,
        },
        shouldComponentUpdate(newProps,newState){
           console.log("shouldComponentUpdate(触发)")
           return true
        },
        componentWillUpdate(){
            console.log("componentWillUpdate",arguments)
        },
        componentDidUpdate(){
            console.log("componentDidUpdate",arguments)
        },
        componentWillMount(){
            console.log("componentWillMount",arguments)
        },
        getDefaultProps: function () {
            return {
                text: 'nima'
            }
        },
        getInitialState:function(){
            return {
                text:this.props.text,
            }
        },
        _textChange:function(ev){
            this.setState({
                text:ev.target.value
            })
        },
        render: function () {
            console.log("render触发")
            return React.DOM.div(null,
                React.DOM.textarea(
                    {
                        //defaultValue:'默认值',  //设置默认值,且数据不受控制
                        value:this.state.text, //和defaultValue只能选择其一
                        onChange:this._textChange,
                    }
                ),
                React.DOM.h3(null, this.state.text.length)
            )
        },
    });
 var myTextAreaCounter =    ReactDOM.render(
        React.createElement(textAreaCounter, {
            text: 'Bob'
        }),
        document.getElementById('app'),
        function () {
            console.log("组件装载完毕")
        }
    )
  • shouldComponentUpdate(newProps,newState)

这个方法在componentWillUpdate()之前触发,给你一个机会返回false以取消更新组件。

//该组件将不会再更新视图
shouldComponentUpdate(newProps,newState){
           console.log(newProps,newState)
           return false
  }

当你输入时:


相关文章

  • 3.React生命周期方法

    componentWillUpdate() 当组件再次渲染时(非初始化),在render()方法前调用(在组建的p...

  • 每日一题

    2022年2月25日 1.React生命周期? 2.React的hook和class区别? 3.React的set...

  • Vue生命周期

    什么是生命周期方法?生命周期钩子=生命周期函数=生命周期事件 Vue生命周期方法分类  创建期间的生命周期方法: ...

  • Activity和Fragment的生命周期

    Activity的生命周期方法 Activity一共有以下7个生命周期方法: Fragment的生命周期方法 Fr...

  • React v16 生命周期

    React 16 生命周期 React 16.3 新增的生命周期方法 逐渐废弃的生命周期方法: 一般将生命周期分成...

  • Fragment的生命周期

    Fragment每个生命周期方法的意义、作用 setUserVisibleHint():(不是生命周期方法) 设置...

  • Fragment 生命周期介绍

    Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法): Fragment生命周期执行流程(注...

  • Fragment 生命周期的详情

    Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法) setUserVisibleHint(...

  • 控制器的View的生命周期

    什么是控制器view的生命周期方法? 一般以view开头的方法,都是view的生命周期 控制器view的生命周期方法

  • Fragment生命周期及用法

    Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法): setUserVisibleHint...

网友评论

      本文标题:3.React生命周期方法

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