Open Seasons123 opened 7 years ago
Virtual DOM 算法,可以简单的描述为以下几个步骤:
1 .用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中
2 .当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异
3. 把2所记录的差异应用到步骤1所构建的真正的DOM树上,视图就更新了
所以我感觉,从react的核心设计来看,react并不合适做复杂的动画,因为动画的states频繁变化,重塑新的对象树,进行新旧树的比较,记录差异,把差异应用到真正的dom树上,这个过程对于动画来说太耗时。但是,react可以封装成组件提高开发效率,所以感觉,在用react做复杂的动画组件时,不用this.setState,直接改操作DOM
-------------------------------------------------我是分割线----------------------------------------------------- --------------------------------------------下面收集了react的相关知识----------------------------------------
译文1:React 常见的面试题 :+1: 译文2:React 常见的面试题 :-1:
flux解释 redux原理
react知识点
【important】 https://github.com/livoras/blog/issues/13 :100: :1st_place_medal: :+1: 基于DomDiff算法分析React刷新机制_严新巧.pdf :100: :1st_place_medal: :+1: https://github.com/Matt-Esch/virtual-dom
【React Kung Fu】 http://reactkungfu.com/2015/10/the-difference-between-virtual-dom-and-dom/
【知乎】 https://www.zhihu.com/question/29504639
【Google】 https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=react+virtual+dom&*