类组件的优势:
可以定义state,用以保存自己内部的变量;函数式组件不可以,每次调用后都会销毁函数内变量
在函数式组件内部不使用副作用钩子定义的变量统称为局部变量,在函数每次运行后都会重新定义一个变量,
类组件有自己的生命周期, 可以在对应的生命周期内实现对应的逻辑,
类组件可以在状态改变时只重新执行render函数以及希望调用的componentDidUpdate
函数
类组件的优势:
代码冗余,一个生命周期函数内要写大量代码
this指向难以理解
组件状态难以复用
函数式组件由于有了副作用(hook)而大放异彩
为什么不用createState? 这是由于state只在组件首次渲染时被创建,下一次重新渲染时,usestate只返回当前state,如果每次都创建新的变量,那就不是所谓statel ————state标识长久非临时的变量
假设usestate中的数据是数组对象而有改变内部某个数据的需求,则需要声明一个新数组(浅拷贝),在这个新数组内对对应的数据进行增删改后,在使用setState对这个数组进行覆盖动作后即完成本次功能修改,应当保证源数组的纯洁性和不可修改性
标签:函数,state,usestate,数组,组件,变量 From: https://www.cnblogs.com/hjk1124/p/17029004.html