Freeze
冻结视图,缓存组件实例,避免不必要的重新创建。
Props
ts
interface FreezeProps {
is: Component | null | undefined | false
key?: unknown
props?: AnyProps | null | undefined
include?: Component[]
exclude?: Component[]
max?: number
}| 属性 | 类型 | 说明 |
|---|---|---|
is | Component | null | undefined | false | 要渲染的组件,为空则不渲染 |
key | unknown | 可选的缓存 key |
props | AnyProps | 传递给组件的属性 |
include | Component[] | 包含的组件(白名单) |
exclude | Component[] | 排除的组件(黑名单) |
max | number | 最大缓存数量 |
示例
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 详解