forked from CJY0208/react-activation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.d.ts
56 lines (47 loc) · 1.83 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { ReactNode, ReactNodeArray, Context, Component, ComponentType } from 'react'
export declare type GetProps<C> = C extends ComponentType<infer P> ? P : never;
export interface KeepAliveProps {
children: ReactNode | ReactNodeArray
name?: string
id?: string
cacheKey?: string
when?: boolean | Array<boolean> | (() => boolean | Array<boolean>)
saveScrollPosition?: boolean | string
[key: string]: any
}
export declare class KeepAlive extends Component<KeepAliveProps> {}
export default KeepAlive
export declare class AliveScope extends Component<{
children: ReactNode | ReactNodeArray
}> {}
export declare class NodeKey extends Component<{
prefix?: string
onHandleNode?: (node: any, mark?: string) => string | undefined | null
}> {}
export function fixContext(context: Context<any>): void
export function createContext<T>(
defaultValue: T,
calculateChangedBits?: (prev: T, next: T) => number
): Context<T>
// type ContextFixEntry = [host: any, ...methods: any[]]
export function autoFixContext(...configs: any[]): void
export function useActivate(effect: () => void): void
export function useUnactivate(effect: () => void): void
export interface CachingNode {
createTime: number
updateTime: number
name?: string
id: string
[key: string]: any
}
export interface AliveController {
drop: (name: string | RegExp) => Promise<boolean>
dropScope: (name: string | RegExp) => Promise<boolean>
refresh: (name: string | RegExp) => Promise<boolean>
refreshScope: (name: string | RegExp) => Promise<boolean>
clear: () => Promise<boolean>
getCachingNodes: () => Array<CachingNode>
}
export function useAliveController(): AliveController
export declare function withActivation<C extends ComponentType<GetProps<C>>>(component: C): C
export declare function withAliveScope<C extends ComponentType<GetProps<C>>>(component: C): C