Skip to content
This repository was archived by the owner on May 4, 2026. It is now read-only.
This repository was archived by the owner on May 4, 2026. It is now read-only.

Consider slice #43

@StefanoMartin

Description

@StefanoMartin

My suggestion is to consider the usage of slicer since it makes the code more readable.
An example for session:

import { createSlice } from '@reduxjs/toolkit'

export const sessionSlice = createSlice({
  name: 'session',
  initialState: {
    valid: localStorage.getItem('sessionID') !== undefined,
    limitReached: false,
    sessionID: localStorage.getItem('sessionID')
  },
  reducers: {
    addSession: (state, action) => {
      state.valid = true
      state.sessionID = action.payload
      localStorage.setItem('sessionID', action.payload)
    },
    removeSession: (state) => {
      state = this.initialState
    },
    invalidSession: (state) => {
      state.valid = false
      state.sessionID = undefined
      localStorage.removeItem('sessionID')
    },
    limitReached: state => {
      state.limitReached = true
    }
  }
})

// Action creators are generated for each case reducer function
export const { addSession, removeSession, invalidSession, limitReached } = sessionSlice.actions

export default sessionSlice.reducer

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions