redux-saga-toolkit
- commonReducer
- createCommand
- createHOCDecorator
- makeStoreCreator
- takeLatestCommandSafe
- takeLatestSafe
- watchCommandChapter
Ƭ ArgumentSelector<Selector
>: (...args
: any
[]) => Selector
Name |
---|
Selector |
▸ (...args
): Selector
Name | Type |
---|---|
...args |
any [] |
Selector
Ƭ GenericSelector<State
, Result
>: (state
: State
) => Result
Name |
---|
State |
Result |
▸ (state
): Result
Name | Type |
---|---|
state |
State |
Result
Ƭ HOC: FC
<{}>
Ƭ commonState: ReturnType
<typeof commonReducer
>
• Const
errorSlice: Slice
<errorState
, { clearError
: (state
: errorState
, __namedParameters
: { payload
: string
; type
: string
}) => {} ; resetErrors
: () => {} ; setError
: (state
: errorState
, __namedParameters
: { payload
: IErrorDetailsPayload
; type
: string
}) => {} }, "errorSlice"
, "errorSlice"
, SliceSelectors
<errorState
>>
• Const
loadingSlice: Slice
<loadingState
, { resetLoading
: () => {} ; setLoading
: (state
: loadingState
, __namedParameters
: { payload
: string
; type
: string
}) => {} ; unsetLoading
: (state
: loadingState
, __namedParameters
: { payload
: string
; type
: string
}) => {} }, "loadingSlice"
, "loadingSlice"
, SliceSelectors
<loadingState
>>
▸ commonReducer(state
, action
): Object
A reducer is a function that accepts an accumulation and a value and returns a new accumulation. They are used to reduce a collection of values down to a single value
Reducers are not unique to Redux—they are a fundamental concept in
functional programming. Even most non-functional languages, like
JavaScript, have a built-in API for reducing. In JavaScript, it's
Array.prototype.reduce()
.
In Redux, the accumulated value is the state object, and the values being accumulated are actions. Reducers calculate a new state given the previous state and an action. They must be pure functions—functions that return the exact same output for given inputs. They should also be free of side-effects. This is what enables exciting features like hot reloading and time travel.
Reducers are the most important concept in Redux.
Do not put API calls into reducers.
Name | Type |
---|---|
state |
{ error : errorState = errorSlice.reducer; loading : loadingState = loadingSlice.reducer } | Partial <{ error : errorState = errorSlice.reducer; loading : loadingState = loadingSlice.reducer }> |
action |
UnknownAction |
Object
Name | Type |
---|---|
error |
errorState |
loading |
loadingState |
node_modules/redux/dist/redux.d.ts:91
▸ createCommand<Payload
>(name
, saga
): Object
Name |
---|
Payload |
Name | Type |
---|---|
name |
string |
saga |
(action : { payload : Payload ; type : string }) => Generator <any , void , never > |
Object
Name | Type |
---|---|
action |
IsAny <Payload , ActionCreatorWithPayload <any , string >, IsUnknown <Payload , ActionCreatorWithNonInferrablePayload <string >, IfVoid <Payload , ActionCreatorWithoutPayload <string >, IfMaybeUndefined <Payload , ActionCreatorWithOptionalPayload <Payload , string >, ActionCreatorWithPayload <Payload , string >>>>> |
saga |
(action : { payload : Payload ; type : string }) => Generator <any , void , never > |
src/createCommand/createCommand.ts:7
▸ createHOCDecorator<State
>(storeCreator
): Object
Name | Type |
---|---|
State |
extends Object |
Name | Type |
---|---|
storeCreator |
StoreCreator <State > |
Object
Name | Type |
---|---|
HocDecorator |
(Story : AnnotatedStoryFn <ReactRenderer , any >) => Element |
store |
ExtendedStore <State > |
useSetTestState |
(stateDiff : Partial <State >) => void |
▸ makeStoreCreator<State
>(reducer
, rootSaga
): StoreCreator
<State
>
Name | Type |
---|---|
State |
extends Object |
Name | Type |
---|---|
reducer |
Reducer <State > |
rootSaga |
() => Generator <any , any , unknown > |
StoreCreator
<State
>
▸ takeLatestCommandSafe(command
): Generator
<Generator
<ForkEffect
<void
>, void
, unknown
>, void
, unknown
>
Name | Type | Default value |
---|---|---|
command |
Object |
undefined |
command.action |
ActionCreatorWithNonInferrablePayload <string > |
actionCreator |
command.saga |
(action : { payload : unknown ; type : string }) => Generator <any , void , never > |
undefined |
Generator
<Generator
<ForkEffect
<void
>, void
, unknown
>, void
, unknown
>
src/createCommand/safeEffect.ts:64
▸ takeLatestSafe(actionType
, saga
): Generator
<ForkEffect
<void
>, void
, unknown
>
Name | Type |
---|---|
actionType |
string |
saga |
(action : any ) => Generator <any , any , unknown > |
Generator
<ForkEffect
<void
>, void
, unknown
>
src/createCommand/safeEffect.ts:52
▸ watchCommandChapter(chapterExports
): () => Generator
<AllEffect
<Generator
<Generator
<ForkEffect
<void
>, void
, unknown
>, void
, unknown
>>, void
, unknown
>
Name | Type |
---|---|
chapterExports |
commandChapter |
fn
▸ (): Generator
<AllEffect
<Generator
<Generator
<ForkEffect
<void
>, void
, unknown
>, void
, unknown
>>, void
, unknown
>
Generator
<AllEffect
<Generator
<Generator
<ForkEffect
<void
>, void
, unknown
>, void
, unknown
>>, void
, unknown
>