Skip to content

Latest commit

 

History

History
87 lines (73 loc) · 1.07 KB

README.md

File metadata and controls

87 lines (73 loc) · 1.07 KB

Redux Toolkit Helpers

Some useful functions against a boilerplate

createSliceReducer

createSlice({
  initialState: {
    name: 'George'
  },
  reducers: {
    setName: createSliceReducer('name')
  }
})

similar to

createSlice({
  initialState: {
    name: 'George'
  },
  reducers: {
    setName: (state, action) => ({
      ...state,
      name: action.payload
    })
  }
})

createSliceSelector

createSlice({
  initialState: {
    name: 'George'
  },
  selectors: {
    selectName: createSliceReducer('name')
  }
})

similar to

createSlice({
  initialState: {
    name: 'George'
  },
  selectors: {
    selectName: (state) => state.name
  }
})

createSliceState

createSlice({
  ...createSliceState(initialState, keys)
})

similar to

createSlice({
  initialState: {
    name: 'George'
  },
  reducers: {
    setName: (state, action) => ({
      ...state,
      name: action.payload
    })
  },
  selectors: {
    selectName: (state) => state.name
  }
})

the keys argument points to all the keys in the state object