前端
PythonJava运维数据库
状态管理
状态管理
  • 🖥️Redux Tookit
    • Introduction
      • 介绍
    • Tutorials
      • 🖥️快速开始
      • 🏐在TypeScript环境使用
    • Using Redux toolkit
      • 使用Immer编写Reducers
      • 性能与数据范式化
      • 异步逻辑与数据请求
      • Usage With TypeScript
    • API Refrence
      • Store Setup
        • configureStore
        • getDefaultMiddleware
        • Immutability Middleware
        • Serializability Middleware
        • Action Creator Middleware
        • createListenerMiddleware
        • createDynamicMiddleware
        • getDefaultEnhancers
        • autoBatchEnhancer
      • Reducer and Actions
        • createReducer
        • createAction
        • createSlice
        • createAsyncThunk
        • createEntityAdapter
        • combineSlices
      • Other
        • createSelector
        • Matching Utilities
    • RTX Query
      • RTK Query Overview
      • Comparson with Other Tools
      • Examples
      • Usage With TypeScript
      • Using RTK Query
        • Queries
        • Mutations
      • API Refrence
        • createApi
        • fetchBaseQuery
        • ApiProvider
        • setupListeners
        • Generated API Slices
          • Generated API Slices
          • Redux Integration
          • Endpoints
          • Code Splitting
          • Utilities
          • React Hooks
  • 🚚Redux-Saga
    • 入门
    • 基础概念
    • API
    • 技巧
  • 🚑React Redux
    • 安装
    • 教程
    • 使用 React Redux
    • API 参考
  • 🚕生态
    • Redux Persist
    • zustand
      • 使用 useShallow 防止重新渲染
由 GitBook 提供支持
在本页
  • Middleware API
  • Saga Helpers辅助函数
  • Effect creators创建器
  • Effect combinators
  • interface
  • External API
  • 工具

这有帮助吗?

  1. Redux-Saga

API

Middleware API

  • createSagaMiddleware(...sagas):创建Redux中间件,将Sagas与Redux Stroe建立连接。

  • middleware.run(saga, ...args):动态执行Saga,用于applyMiddleware阶段之后执行Sagas。

Saga Helpers辅助函数

  • takeEvery(pattern, saga, ...args):在发起action与pettern匹配时派生指定的saga。

  • takeLatest(pattern, saga, ...args):在发起action与pettern匹配时派生指定的saga,并且取消之前启动的所有saga任务(如果在执行中)。

Effect creators创建器

  • take(pattern):创建一条 Effect 描述信息,指示 middleware 等待 Store 上指定的 action。Generator 会暂停,知道一个与 pattern 匹配的 action 被发起

  • put(action):指示 middleware 发起一个 action 到 Store

  • call(fn, ...args):指定 middleware 调用 fn 函数并以 args 为参数

  • call([context, fn], ...args):同上,但是支持 fn 指定 this 上下文

  • apply(context, fn, args):同上,参数为数组

  • cps(fn, ...args):指示 middleware 以 Node 风格掉哟功能 fn 函数

  • cps([context, fn], ...args):支持为 fn 指定 this 上下文(调用对象方法)

  • fork(fn, ...args):指示 middleware 以 无阻塞调用 方式执行 fn

  • fork([context, fn], ...args):同上,但是支持 fn 指定上下文

  • join(task):指示 middleware 等待之前的 fork 任务返回结果

  • cancel(task):指示 middlware 取消之前的 fork 任务

  • select(selector, ...args):指示 middleware 调用提供的选择器获取 Store state 上的数据

Effect combinators

  • race(effects):指示 middleware 在多个 Effect 之间执行一个 race 的操作

  • [...effects] (aka parallel effects):指示 middleware 并行执行多个 Effect,并等待所有 Effect 完成

interface

  • Task

    • task.isRunning():如果任务还未返回或跑出了一个错误则返回 true

    • task.result():任务的返回值,如果任务正在执行中则返回 undefined

    • task.error():任务抛出的错误,如果任务正在执行中则返回 undefined

    • task.done:Promise(以任务的返回值 resolve、以任务抛出的错误 reject)

    • task.cancel():取消任务(如果任务还在执行中)

External API

  • runSaga(iterator, {subscribe, dispatch, getState}, [monitor]):允许在 Redux middleware 环境外部启动 sagas。当你想将 Saga 连接至外部的输入和输出时,而不是 Store 的 action,会很有用。

工具

  • channel([buffer])

上一页基础概念下一页技巧

最后更新于1年前

这有帮助吗?

🚚
eventChannel(subscribe, [buffer], matcher)
buffers
delay(ms, [val])
cloneableGenerator(generatorFunc)
createMockTask()