1

两种创建组件方式的对比

  1. 使用class创建的组件,有自己的私有数据(this.state)和生命周期
  2. 使用function创建的组件,只有props,没有自己的私有数据和生命周期函数。
  3. 用构造函数创建的组件叫无状态组件,用class创建的组件叫有状态组件
  4. 组件中的props和state/data之间的区别

    • props的数据都是从外界传递过来的
    • state/data中的数据,都是组件私有的;(通过ajax获取的数据一般都是私有数据)
    • props中的数据都是只读的,不能重新赋值的。
    • state/data中的数据,都是可读可写的。
使用范围

如果一个组件有自己的私有数据,则推荐使用class创建有状态组件;
如果一个组件不需要私有的数据,则推荐使用,无状态组件。

有状态组件和无状态组件的本质区别就是:是否有state属性和是否有生命周期函数。


Hole
36 声望5 粉丝

« 上一篇
Javascript
下一篇 »
html 和 css