Freeze

冻结视图,缓存组件实例,避免不必要的重新创建。

Props

ts
interface FreezeProps {
  is: Component | null | undefined | false
  key?: unknown
  props?: AnyProps | null | undefined
  include?: Component[]
  exclude?: Component[]
  max?: number
}
属性类型说明
isComponent | null | undefined | false要渲染的组件,为空则不渲染
keyunknown可选的缓存 key
propsAnyProps传递给组件的属性
includeComponent[]包含的组件(白名单)
excludeComponent[]排除的组件(黑名单)
maxnumber最大缓存数量

示例

tsx
import { Freeze, ref } from 'vitarx'

function App() {
  const currentTab = ref(Home)

  return <Freeze is={currentTab} key="tab" />
}

缓存限制:

tsx
<Freeze is={currentTab} max={5} />

参考Freeze 详解