React Fiber
在React15及以前,Reconciler采用递归的方式创建虚拟DOM,递归过程是不能中断的。如果组件树的层级很深,递归会占用线程很多时间,递归更新时间超过了16ms,用户交互就会卡顿。
为了解决这个问题,React16将递归的无法中断的更新重构为异步的可中断更新,由于曾经用于递归的虚拟DOM数据结构已经无法满足需要。于是,全新的Fiber架构应运而生。
在React15及以前,Reconciler采用递归的方式创建虚拟DOM,递归过程是不能中断的。如果组件树的层级很深,递归会占用线程很多时间,递归更新时间超过了16ms,用户交互就会卡顿。
为了解决这个问题,React16将递归的无法中断的更新重构为异步的可中断更新,由于曾经用于递归的虚拟DOM数据结构已经无法满足需要。于是,全新的Fiber架构应运而生。
glob.js 是JavaScript中glob的实现,使用minimatch库来匹配,能够实现shell的匹配模式。
这期我从分治策略和动态规划两个角度出发来比较两种算法的异同点,同时分析常见的递归优化方案,包括记忆化搜索和尾递归, 然后引出动态规划是解决某些问题的最优方法。
开始前先介绍几个概念:
终点向问题的起点解决起点向问题的终点解决最近在工作中有一个列表的滚动加载功能需求,了解了一下发现antd的table是不支持滚动加载的,只有list支持。因为原来的业务代码是用table做的,为了不改变原来的代码,我打算自己写个table的滚动加载功能。