14. 对有状态组件和无状态组件的理解及使用场景
(1)有状态组件
特点:
●是类组件
●有继承
●可以使用this
●可以使用react的生命周期
●使用较多,容易频繁触发生命周期钩子函数,影响性能
●内部使用 state,维护自身状态的变化,有状态组件根据外部组件传入的 props 和自身的 state进行渲染。
使用场景:
●需要使用到状态的。
●需要使用状态操作组件的(无状态组件的也可以实现新版本react hooks也可实现)
总结:
类组件可以维护自身的状态变量,即组件的 state ,类组件还有不同的生命周期方法,可以让开发者能够在组件的不同阶段(挂载、更新、卸载),对组件做更多的控制。类组件则既可以充当无状态组件,也可以充当有状态组件。当一个类组件不需要管理自身状态时,也可称为无状态组件。
(2)无状态组件
特点:
●不依赖自身的状态state
●可以是类组件或者函数组件。
●可以完全避免使用 this 关键字。(由于使用的是箭头函数事件无需绑定)
●有更高的性能。当不需要使用生命周期钩子时,应该首先使用无状态函数组件
●组件内部