React 组件
组件有两个核心概念:
- props
一个组件就是通过这两个属性的值在 方法里面生成这个组件对应的 HTML 结构。
注意:组件生成的 HTML 结构只能有一个单一的根节点。
state
是组件的当前状态,可以把组件简单看成一个“状态机”,根据状态 state
呈现不同的 UI 展示。
一旦状态(数据)更改,组件就会自动调用 重新渲染 UI,这个更改的动作会通过this.setState
方法来触发。
一条原则:让组件尽可能地少状态。
什么样的数据属性可以当作状态?
当更改这个状态(数据)需要更新组件 UI 的就可以认为是 state
,下面这些可以认为不是状态:
- 可计算的数据:比如一个数组的长度
- 和 props 重复的数据:除非这个数据是要做变更的
最后回过头来反复看几遍 ,相信会对组件有更深刻的认识。
因为无状态组件只是函数,所以它没有实例返回,这点在想用 refs
获取无状态组件的时候要注意,参见DOM 操作。