请问老师关于react16.7版本的expriationTime的问题
来源:4-2 scheduleWork
Osuribaba
2019-01-16
在react16.7.0以下的版本中,scheduleWorkToRoot函数中在更新fiber以及fiber父节点的expriationTime的时候,都是判断的当fiber.expirationTime < 传进来的expirationTime才会重新赋值:
但是在react16.7.0以下的版本中,scheduleWorkToRoot函数中重新给截止时间赋值时,是当fiber.expriationTime > 传进来的expirationTime才会重新赋值:
我看computeExpirationBucket这个计算expriationTime的方法16.7和以下版本也有些不一样了。
所以请问老师react在16.7以上版本中的expriationTime的语义是不是已经发生变化了?
写回答
2回答
-
是的,16.7统一按照越大的优先级越高的模式走了,之前Sync是等一1,16.7里面Sync是maxIntxxxxx了。但是原理是一样的,就是判断优先级换了个方法,不需要先判断是否等于Sync
012019-01-17 -
Osuribaba
提问者
2019-01-16
而且16.7.0中好像不止这个scheduleWorkToRoot函数中的符号和低版本不一样。其他地方也有的大于号小于号是相反的。所以我寻思是不是16.7里头这个expriationTime改变了计算方式,导致整个语义就反过来了?
00
相似问题