Skip to Content
👋 Добро пожаловать в документацию lite-fsm!
APIMiddleware API

Middleware API

@lite-fsm/middleware содержит готовые middleware и реэкспортирует точечные точки входа.

Импорт

import { devToolsMiddleware, immerMiddleware } from "@lite-fsm/middleware"; import { immerMiddleware } from "@lite-fsm/middleware/immer"; import { devToolsMiddleware } from "@lite-fsm/middleware/devTools";

immerMiddleware

Позволяет писать reducer как Immer draft mutation и возвращать void.

import { immerMiddleware } from "@lite-fsm/middleware/immer"; const manager = MachineManager({ todos }, { middleware: [immerMiddleware] });

immerMiddleware ставит marker __liteFsmAllowVoidReducer, поэтому core не бросает VOID_REDUCER_ERROR, когда reducer ничего не вернул.

devToolsMiddleware

Подключает Redux DevTools Extension.

import { devToolsMiddleware } from "@lite-fsm/middleware/devTools"; const manager = MachineManager( { app }, { middleware: [devToolsMiddleware({ blacklistActions: ["TIMER_TICK"] })], }, );
ОпцияНазначение
blacklistActions?: string[]Action types, которые не отправляются в DevTools

Без window.__REDUX_DEVTOOLS_EXTENSION__ middleware пропускает события без side effects.

Форма custom middleware

const middleware = (api) => (next) => (action) => { const result = next(action); return result; };

MiddlewareApi предоставляет getState, transition, replaceReducer, onTransition и condition.

Подробное руководство: @lite-fsm/middleware.

Last updated on