Skip to content

Instantly share code, notes, and snippets.

@AllGistsEqual
Created April 18, 2021 19:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AllGistsEqual/b06cdec6c22353cf40dc65bb9ec6a0a0 to your computer and use it in GitHub Desktop.
Save AllGistsEqual/b06cdec6c22353cf40dc65bb9ec6a0a0 to your computer and use it in GitHub Desktop.
// File: src/redux/ducks/user.ts
/* eslint-disable no-param-reassign */
import { createAction, createReducer } from '@reduxjs/toolkit'
import { RootState } from '../index'
type UserState = {
login: boolean
}
const initialState: UserState = {
login: false,
}
export const setLogin = createAction('[USER] Set Login', (isLoggedIn: boolean) => ({
payload: {
isLoggedIn,
},
}))
export const selectLogin = (state: RootState): boolean => state.user.login
const userReducer = createReducer(initialState, builder => {
builder.addCase(setLogin, (state, action) => {
state.login = action.payload.isLoggedIn
})
})
export default userReducer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment