美文网首页
react简单用法

react简单用法

作者: 祝家庄打烊 | 来源:发表于2018-04-15 20:46 被阅读0次

    1、生命周期

    组件的生命周期可分成三个状态:

    Mounting:已插入真实 DOM

    Updating:正在被重新渲染

    Unmounting:已移出真实 DOM

    componentWillMount 在渲染前调用,在客户端也在服务端。

    componentDidMount : 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。

    componentWillReceiveProps 在组件接收到一个新的 prop (更新后)时被调用。这个方法在初始化render时不会被调用。

    shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。 

    可以在你确认不需要更新组件时使用。

    componentWillUpdate在组件接收到新的props或者state但还没有render时被调用。在初始化时不会被调用。

    componentDidUpdate 在组件完成更新后立即调用。在初始化时不会被调用。

    componentWillUnmount在组件从 DOM 中移除的时候立刻被调用。

    2、组件

    推荐的组件有两种,第一个,无状态组件是以函数的形式,第二个,es6形式的extends React.Component定义的组件;

    无状态组件

    无状态组件还有以下几个显著的特点:

    组件不会被实例化,整体渲染性能得到提升

    因为组件被精简成一个render方法的函数来实现的,由于是无状态组件,所以无状态组件就不会在有组件实例化的过程,无实例化过程也就不需要分配多余的内存,从而性能得到一定的提升。

    组件不能访问this对象

    无状态组件由于没有实例化过程,所以无法访问组件this中的对象,例如:this.ref、this.state等均不能访问。若想访问就不能使用这种形式来创建组件

    组件无法访问生命周期的方法

    因为无状态组件是不需要组件生命周期管理和状态管理,所以底层实现这种形式的组件时是不会实现组件的生命周期方法。所以无状态组件是不能参与组件的各个生命周期管理的。

    无状态组件只能访问输入的props,同样的props会得到同样的渲染结果,不会有副作用


    状态组件

    React.Component是以ES6的形式来创建react的组件的,是React目前极为推荐的创建有状态组件的方式,最终会取代React.createClass形式;相对于 React.createClass可以更好实现代码复用

    3、组件之间传参数

    父到子:props

    子到父:

    父,现定义个预留函数,主要作用把值赋给state

    子,通过取父组件的属性来把state传递给子组件

    相关文章

      网友评论

          本文标题:react简单用法

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