全书目录

第四十一篇:Qwik 完全指南 —— 可恢复瞬启城区宇宙

第三章:lazy execution —— 不只是懒加载,而是懒得执行

1 分钟 308 字 第 795 / 962 个阅读单元

很多人第一次看 Qwik,会以为它只是“代码分割做得更细”。

不够准确。

Qwik 不只是 lazy loading,更关键是 lazy execution。

区别在这:

  • 普通懒加载:代码先分块,但页面一活过来,很多块还是要立刻执行
  • Qwik 的懒执行:代码不但分块,而且很多逻辑直到用户真的触发时才执行

看一个最小例子:

tsx
import { component$, useSignal } from '@builder.io/qwik';

export default component$(() => {
  const count = useSignal(0);

  return (
    <button onClick$={() => count.value++}>
      当前人数:{count.value}
    </button>
  );
});

这里有两个非常 Qwik 的符号:

  • component$
  • onClick$

$ 可以理解成:

“这里是优化器的切点,这段能力可以被拆出去,按需恢复。”

所以这段按钮逻辑不是“整页先启动,再等你点击”,而是更像:

text
用户还没点按钮时
  └── 这段点击逻辑不急着执行

用户点击按钮
  └── Qwikloader 找到这段逻辑对应的代码块
      └── 下载它
          └── 恢复执行
              └── 只更新相关 UI

这就是 Qwik 的瞬启感来源:

先展示,后恢复;先有页面,后按需唤醒行为。