React Fiber

在React15及以前,Reconciler采用递归的方式创建虚拟DOM,递归过程是不能中断的。如果组件树的层级很深,递归会占用线程很多时间,递归更新时间超过了16ms,用户交互就会卡顿。

为了解决这个问题,React16将递归的无法中断的更新重构为异步的可中断更新,由于曾经用于递归的虚拟DOM数据结构已经无法满足需要。于是,全新的Fiber架构应运而生。

阅读更多

手写bind

一句话介绍 bind

bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。(来自于 MDN )

由此我们可以首先得出 bind 函数的两个特点:

  1. 返回一个函数
  2. h可以传入参数

antd动态主题

  1. 零代码本地会保存一份antd全部样式变量的文件

分治策略&动态规划

这期我从分治策略和动态规划两个角度出发来比较两种算法的异同点,同时分析常见的递归优化方案,包括记忆化搜索和尾递归, 然后引出动态规划是解决某些问题的最优方法。

概念

开始前先介绍几个概念:

  • 自顶向下,理解为从问题的终点向问题的起点解决
  • 自底向上,理解为从问题的起点向问题的终点解决
  • 最优子结构:当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质
  • 重叠子问题:在用递归算法自顶向下解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次
阅读更多

antd table 滚动加载

背景

最近在工作中有一个列表的滚动加载功能需求,了解了一下发现antdtable是不支持滚动加载的,只有list支持。因为原来的业务代码是用table做的,为了不改变原来的代码,我打算自己写个table的滚动加载功能。

阅读更多