我的疑问是虽然创建了虚拟dom,但是将虚拟dom转化为dom的时候,不照样调用了dom接口,这跟用dom直接创建有什么区别?至于diff操作,就是操作完,不是照样调用了dom接口去更新? 我的理解是不是只是快在diff上?
我的疑问是虽然创建了虚拟dom,但是将虚拟dom转化为dom的时候,不照样调用了dom接口,这跟用dom直接创建有什么区别?至于diff操作,就是操作完,不是照样调用了dom接口去更新? 我的理解是不是只是快在diff上?
根据你的问题,React操作的是虚拟dom,虚拟dom实际上就是js画出来的一个画面,存在于内存。直接操作这个画出来的东西,不需要进行dom渲染,所以无论多么频繁操作虚拟dom,速度都很快。当所有操作结束的时候,react才隐式的把虚拟dom渲染成真的dom,这个过程用户根本看不到。diff算法只是比对虚拟dom的不同,并不去关注真实dom到底什么样,只是在最后的时候渲染一个真实的dom。
4 回答1.7k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答992 阅读✓ 已解决
1 回答705 阅读✓ 已解决
2 回答867 阅读✓ 已解决
4 回答1.2k 阅读
参考:https://www.zhihu.com/questio...