Snabbdom 是一个 virtual DOM 的实现库。它的实现非常简单,核心代码只有大约200行,并且通过模块机制提供了强大的扩展性。它的具体介绍如下:

  • 核心功能

    • 大约200行代码 -- 您可以轻松地阅读整个内核并完全理解它的工作原理。
    • 可以通过模块扩展。
    • 每个vnode和模块都有一组丰富的钩子,可以钩入到 diff 和 patch 过程的任何部分。
    • 极好的性能。Snabbdom是虚拟DOM基准测试中速度最快的虚拟DOM库之一。
    • Patch 函数具有函数签名,等同于 reduce/scan 函数。可以更容易地与FRP库集成。
  • 模块功能

    • h 函数可以很方便创建虚拟 DOM 节点。
    • h 函数也可以操作 SVG。
    • 操作复杂的 CSS 动画的功能。
    • 强大的事件监听器功能。
    • thunk 函数可以进一步优化 diff 和 patch 过程。

本章我们就由浅入深的学习 snabbdom 的使用,并且从源码的角度作出详细的分析,读者看之前可以先根据 官方仓库 的文档自己上手一下这个库,了解它的基本使用。

上次更新: 7/7/2020, 3:46:30 PM