使用在 TypeScript 中的类型定义
Redux-Saga 自带了用于 TypeScript 的类型声明文件,在使用 TypeScript 时,了解 Redux-Saga 所定义的类型有助于在编写代码时书写有效的类型标注。这里对使用 Redux-Saga 时常用的类型进行列举。
ActionType
,定义为string | number | symbol
,用于标记 Action 类型的类型。Saga<Args extends any[] = any[]>
,定义为(...args: Args) => Iterator<any>
,Saga 是一个接受一个数组作为参数,并返回一个迭代器的函数。Predicate<T>
,定义为(arg: T) => boolean
,用于使用在 Pattern 中的判定函数。SubPattern<T>
,定义为Predicate<T> | StringableActionCreator | ActionType
,用于标记每一个 Pattern 单元的类型。其中StringableActionCreator
为可以生成 Action 并带有toString()
方法的函数。Pattern<T>
,定义为SubPattern<T> | SubPattern<T>[]
,用于take
等函数的 Pattern 参数的类型。Buffer<T>
,能够存放指定内容类型的缓存类型。Channel<T>
,通道类型。END
,通道终止类型。Task
,派生 Saga 得到的任务类型。