关于不可变值
来源:7-10 在实际工作中,你对React做过哪些优化-上集
袁门弟子
2023-02-02
老师好,不可变值您直接push数组,渲染数组的子组件也可以添加item,这是因为:
1:state数组直接push,也可以被修改。
2:子组件没有用scu,每次父组件render子组件也会被render执行。
但如果用scu,就无法更新子组件dom,因为scu需要新旧数据对比,此时的scu里面的数组,都是最新数据,因为是直接push的同步修改。setstate的意义在于:由react去修改数据,这样react会有新旧数据,让scu去对比判断,如果返回true就覆盖旧数据,进而render子组件,不然就中止数据修改和子组件的render
我这样理解对吗?
写回答
1回答
-
双越
2023-02-02
看到你还几次问“这样理解对吗”一类的问题。这让我有些困惑。
第一,如果你是分享学习笔记,我很欢迎,很好。
第二,如果你在具体的地方有疑问,那提出来,我也会及时回复你。
但你这个“这样理解对吗”就类似于:学生给老师写了 200 个字,让老师找里面有没有错别字。
所以,我希望你以后的问题,就是一个具体的问题。
PS:每日回复问题较多,所以不得不如此考虑,还请你体谅一下~
022023-02-03
相似问题