两种创建组件方式的对比
- 使用class创建的组件,有自己的私有数据(this.state)和生命周期
- 使用function创建的组件,只有props,没有自己的私有数据和生命周期函数。
- 用构造函数创建的组件叫无状态组件,用class创建的组件叫有状态组件
-
组件中的props和state/data之间的区别
- props的数据都是从外界传递过来的
- state/data中的数据,都是组件私有的;(通过ajax获取的数据一般都是私有数据)
- props中的数据都是只读的,不能重新赋值的。
- state/data中的数据,都是可读可写的。
使用范围
如果一个组件有自己的私有数据,则推荐使用class创建有状态组件;
如果一个组件不需要私有的数据,则推荐使用,无状态组件。
有状态组件和无状态组件的本质区别就是:是否有state属性和是否有生命周期函数。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。