美文网首页
react一点总结

react一点总结

作者: 嘿黑蜗牛 | 来源:发表于2017-12-25 10:59 被阅读0次

    1.propTypes定义,组件依然能够正常工作,而且,即时在上面propTypes检查出错,组件也依然能够正常工作,也就是说propTypes并不会改变组件的行为。所以最好的方式是在开发中我们定义它,在产品环境中去掉它,因为propTypes检查也是会消耗cpu的,市面上已经有了bebel-react-optimize,可以帮我们把它去掉。

    2.this.setState()函数所做的事情,首先是改变this.state的值,然后驱动组件经历更新过程,这样才有机会让this.state里新的值出现在界面上。

    3.constructor 也就是es6中每个类的构造函数,要创造一个组件类的实例,当然会调用对应的构造函数,一个react组件需要构造函数,往往为了两个目的,1:初始化state.2.绑定成员函数this环境。

    4.componentWillMount 和componentDidMount的区别:componentWillMount 可以在服务器调用,也可以在浏览器调用但是componentDidMount只能在浏览器被调用,为什么呢,因为装载是一个组件放到DOM树上的过程,那么真正的装载是不可能在服务器上完成的,服务器的渲染并不会产生DOM树。所以我们可以利用这一点。在componentDidMount被调用时候,组件已经被装载到DOM树上了,可放心回去渲染出来的任何DOM。

    5.更新过程中componentWillReceiveProps,只要父组件的render函数被调用,在render函数里面被渲染的子组件就会经历更新过程,不管父组件传给子组件的Props有没有改变,都会触发子组件的componentWillReceiveProps函数,但是自身的this.setState方法触发的更新过程不会调用这个函数。

    6.shouldComponemtUpdata 它决定了一个组件什么时候不渲染。
    render 和 shouldComponemtUpdata 是也react 生命周期中两个需要有返回结果的函数。其他的不需要。在更新过程中shouldComponemtUpdata 返回 false那就立刻停止更新。
    所以在this.setState函数后会执行shouldComponemtUpdata 然后在决定我要不要更新。

    7.shouldComponemtUpdata 函数返回 TRUE,接下来就会依次调用componentWillUpdata,render,componetDidUpdata函数,它把render像夹心面包似得夹在了中间,像这样有爱的函数还有他们俩componentWillMount 和componentDidMount。

    相关文章

      网友评论

          本文标题:react一点总结

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