1、setState 为何使用不可变值 ?
1、概述
网络异常,图片无法展示
|
2、不可变指的是 函数式编程思想 纯函数
- array.concat 返回新数组 但
旧数组 未变化
slice fliter forEach 也是一样 array.push pop splice 更改了 数组本身 会违反 不可变值
网络异常,图片无法展示
|
- 常规 操作对象的思路
网络异常,图片无法展示|
2、setState是异步 ?
* 注意 不管是 自定义事件还是 setTimeout 定时任务 都需要 手动销毁 复制代码
- 直接使用 this.setState 是异步的
网络异常,图片无法展示|
网络异常,图片无法展示
|
- 在 setTimeout 中 setState是同步的
网络异常,图片无法展示
|
- 自定义事件中 同步
网络异常,图片无法展示
|
3、setState会合并state ?
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
4、生命周期 ?
1、官网
网络异常,图片无法展示
|
网络异常,图片无法展示
|
5、总结 ?
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|