Skip to main content

clearCtrl

info

This is an action creator which helps you to bring reducer to initial state.

controller.action.clearCtrl();

controller.ts

import { put } from 'redux-saga/effects';

// NOTE action shortcut
interface Act<Payload> extends Action {
payload: Payload
}
// NOTE action payloads
interface InitializePayload {
some: string;
}

function * initializeSaga ({ type, payload } : Act<InitializePayload> ) {
// NOTE bring reducer to initial state before start initialization
yield put(controller.action.clearCtrl());
// ...
}

index.ts

import React, { useEffect } from 'react';
import { controller } from './controller';
import { useController } from 'redux-saga-controller';

function User () {
const [reducer, { clearCtrl, initialize }, isControllerSubscribed] = useController(controller);
useEffect(() => {
initialize({ id });
return () => clearCtrl();
}, [clearCtrl, initialize, id]);
// ...
}