@bhupinderanand/react-redux-saga-boilerplate
Version:
Boilerplate with React and Redux with Redux Saga
35 lines (28 loc) • 830 B
text/typescript
import { createReducer } from '@reduxjs/toolkit';
import { STATUS } from 'literals';
import { login, loginSuccess, logOut, logOutSuccess } from 'actions';
import { UserState } from 'types';
export const userState = {
isAuthenticated: false,
status: STATUS.IDLE,
};
export default {
user: createReducer<UserState>(userState, builder => {
builder
.addCase(login, draft => {
draft.status = STATUS.RUNNING;
})
.addCase(loginSuccess, draft => {
draft.isAuthenticated = true;
draft.status = STATUS.READY;
});
builder
.addCase(logOut, draft => {
draft.status = STATUS.RUNNING;
})
.addCase(logOutSuccess, draft => {
draft.isAuthenticated = false;
draft.status = STATUS.IDLE;
});
}),
};