saga-duck
  • 介绍&入门
  • 进阶
  • 2.x~3.x改动说明
  • API
    • Duck
    • ComposableDuck
    • DuckRuntime
    • Utils
Powered by GitBook
On this page
  • constructor(duck, ...middlewares)
  • connectRoot(): Decorator
  • connect(): Decorator
  • root(): Decorator
  • addSaga(sagas): void

Was this helpful?

  1. API

DuckRuntime

从Duck实例创建Redux store并运行sagas,提供与React组合的功能。

constructor(duck, ...middlewares)

  • duck Duck实例

  • middlewares Redux Store中间件

import { DuckRuntime } from 'saga-duck'
import { createLogger } from 'redux-logger'

const myDuck = new MyDuck(...)
const duckRuntime = new DuckRuntime(myDuck, createLogger({collapsed: true}))

connectRoot(): Decorator

const ConnectedContainer = duckRuntime.connectRoot()(
    Container
)

// decorator写法
@duckRuntime.connectRoot()
function Container(){...}

等效于

// 传统写法
const ConnectedContainer = duckRuntime.connect()(
    duckRuntime.root()(
        Container
    )
)

// decorator写法
@duckRuntime.connect()
@duckRuntime.root()
function Container(){...}

connect(): Decorator

与Redux store关联,功能同react-redux的connect

root(): Decorator

关联React,在mount时触发INIT动作,unmount时触发END动作,不推荐用作初始化逻辑

addSaga(sagas): void

动态添加sagas到运行环境中(立即执行),注意此时添加的与任何duck都无关联,即不会传duck作为入参。

duckRuntime.addSagas([function*(){  }])
PreviousComposableDuckNextUtils

Last updated 6 years ago

Was this helpful?