redux helper tool to abstract action and reducer with getDefaultState and updaters.
npm install redux-primgetDefaultState
updaters and namespacing
shell
npm i redux-prim
`
Simple example
Create a todo slice
` javascript
import createSlice from 'redux-prim';
const {actions, reducer, selector} = createSlice('todo',
()=>({ visible: false }),
({ setState }) => {
return {
setTodoVisibility(todoVisible) {
return setState({ todoVisible });
}
}
});
`
combine reducers
` javascript
import { combineReducers } from 'redux';
import { userReducer } from './userSlice';
import { appReducer } from './appSlice';
export default combineReducers({
...userReducer,
...appReducer
});
`
use slice
` javascript
import React, { useCallback } from 'react';
import todoSlice from './store/todoSlice';
import { useSelector, useDispatch } from 'react-redux';
const { actions, selector } = todoSlice;
function App() {
const todo = useSelector(selector);
const dispatch = useDispatch();
const showTodo = useCallback(() => dispatch(actions.setTodoVisibility(true)), []);
return (
{todo.visible ? this is todo : }
)
}
``