首页 > 代码库 > virutal dom patch

virutal dom patch

 今天想到一个对于virtual dom的重要改进方法:可以用高阶函数来预求值diff和patch,这样可以避免运行时间对View求diff和patch,因此性能会优化很大

太极真人 2014/12/14 9:32:43

就象微积分

太极真人 2014/12/14 9:33:46

微分函数是原函数的高一阶函数
9:35:49
太极真人 2014/12/14 9:35:49

View是初始状态连续依据diff应用patch,就是积分

太极真人 2014/12/14 9:36:49

先求微分再求积分也就复原了view函数

太极真人 2014/12/14 9:37:20

恒等式
9:44:00
寸志
2014/12/14 9:44:00

是那么回事,不知道怎么实现
9:46:30
太极真人 2014/12/14 9:46:30

先得让view函数可微

太极真人 2014/12/14 9:47:14

比如常数函数,线性函数

太极真人 2014/12/14 9:48:14

再求这些函数的组合函数的微分
9:48:48
太极真人 2014/12/14 9:48:48

比如if,for,repeat

太极真人 2014/12/14 9:50:34

如果实在无法预求值就fallback到现在的方式
9:51:22
太极真人 2014/12/14 9:51:22

还可以利用缓存机制

太极真人 2014/12/14 9:53:06

常数函数的微分是0,补丁就是空操作
9:55:31
太极真人 2014/12/14 9:55:31

{{x}}相当于线性函数,补丁就是加上差值,实际操作用新值更新就可以了
9:57:14
太极真人 2014/12/14 9:57:14

if则如果测试值不变,补丁就为空,否则用另一分支替换现有分支

太极真人 2014/12/14 9:58:40

repeat则根据模型值进行增删改

11:01:51
Sune
2014/12/14 11:01:51

太极真人厉害

virutal dom patch