采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这里的setState主流程图我能理解 老师讲的也很清楚什么时候是异步(触发batch update)什么时候儿同步(不命中)
可问题是命中了batch update组件保存入dirtyComponents中有什么好处吗?
另外老师我在百度的时候儿搜到了一个这个 https://www.kancloud.cn/freya001/haoke/1692029
您看?这个是不是得制裁一下儿? 如果不是您授权的话
可问题是命中了batch update组件保存入dirtyComponents中有什么好处吗? —— 这不是有没有好处的事儿。如果不这么做,这个功能就没法实现。
另外老师我在百度的时候儿搜到了一个这个 https://www.kancloud.cn/freya001/haoke/1692029 —— 我已反馈给专业反盗版的人员,感谢你的指出哈。
可能我还是没理解太到位 我捋一捋您听一听啊: 您的意思是 这个命中batch update组件保存入dirtyComponents是React进行setState()更新 进一步说是vnode - patch() 更新的其中一环(或者说mechanism) 如果没有命中batch update的话 更新的机制就会不一样/更繁琐 (右侧分支:便利所有dirtyComponents, 调用updateComponent, 更新pending state) technically不能说是有好处 而是这是react更新机制的高效实现方法? (有可能没说对啊 没说对的地方儿就麻烦您指正一下儿)
我还是没搞懂,你的问题在哪里?这就是一个组件更新流程,不同情况下走不同的分支。 至于你说的“好处”以及“高效实现”,这些词,都是有对比的情况下才行,有对比,哪个更好哪个不好,讨论一下。 而我们这个流程,没啥对比呀,只是两个分支而已。
我大概明白了 我可能脑子里一直把这个batch update归类为优化的方式 但其实像您说的 这是流程 没啥对比 就是不同情况下的不同分支 得嘞感谢您的答疑解惑!!!!!!! sylsnb!!!
个人理解就是react做的一个优化,因为state更新会引起dom的更新,那如果复杂逻辑频繁对state更新那dom操作就会变得频繁,如果state做成异步的,在一次同步执行过程中,将所有的setState合并成一次去更新dom那就大大减少了dom操作的频率,进而减少diff计算的时间,做到性能优化。至于settimeout里面同步,因为外层包了一个异步,本身就不需要再内部设置一层异步了。 老师,如果我说的有问题请点出,纯属个人理解
登录后可查看更多问答,登录/注册
面向1-3年前端的框架及项目面试“刚需内容”
4.1k 1
2.6k 11
1.3k 11
1.2k 11