初窥React-5(updateContainer方法-p1)

2021/6/19 23:57:12

本文主要是介绍初窥React-5(updateContainer方法-p1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  进入updateContainer,var eventTime = requestEventTime(); 这里延申开

function requestEventTime() {
    if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { //这里二进制的运算...执行的上下文和只要在render或者commit,也就是说,浏览器线程处于react的管辖下的时候,直接返回当前时间
      // We're inside React, so it's fine to read the actual time.
      return now();
    } // We're not inside React, so we may be in the middle of a browser event.


    if (currentEventTime !== NoTimestamp) {
      // Use the same start time for all updates until we enter React again.
      return currentEventTime; //上面if不满足,这里像注释中描述的一样,采用当前的相同的eventTime,由于我们要当yield之后再继续下面的所以用一个...
    } // This is the first update since React yielded. Compute a new start time.


    currentEventTime = now(); //不解释...
    return currentEventTime;
  }

这里简单补一下二进制 位运算的知识:

  

原码:     是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。 若以带符号位的四位二进值数为例
  1. 1010 : 最高位为‘1’,表示这是一个负数,其他三位为‘010’,
  2. 即(0*2^2)+(1*2^1)+(0*2^0)=2(‘^’表示幂运算符)
  3. 所以1010表示十进制数(-2)。
反码:      正数的反码还是等于原码   负数的反码就是他的原码除符号位外,按位取反。     若以带符号位的四位二进制数为例:
  1. 3是正数,反码与原码相同,则可以表示为0011
  2. -3的原码是1011,符号位保持不变,低三位(011)按位取反得(100)
  3. 所以-3的反码为1100
补码:      负数的补码等于反码+1。(这只是一种算补码的方式,多数书对于补码就是这句话) 好吧,接下来我们就做一做四位二进制数的减法吧(先不引入符号位)   | & 还有啥非,异或 等等..等等..这些操作符不解释了.... ,多学学有好处!!~~

这篇关于初窥React-5(updateContainer方法-p1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程