使用在 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 得到的任务类型。