import { createSlice, createAction } from '@reduxjs/toolkit' import { createStore, combineReducers } from 'redux' const incrementBy = createAction('incrementBy') const decrementBy = createAction('decrementBy') const counter = createSlice({ name: 'counter', initialState: 0, reducers: { increment: (state) => state + 1, decrement: (state) => state - 1, multiply: { reducer: (state, action) => state * action.payload, prepare: (value) => ({ payload: value || 2 }), // fallback if the payload is a falsy value }, } }) const user = createSlice({ name: 'user', initialState: { name: '', age: 20 }, reducers: { setUserName: (state, action) => { state.name = action.payload }, } }); const reducer = combineReducers({ counter: counter.reducer, user: user.reducer, }); const store = createStore(reducer); store.dispatch(counter.actions.increment()); store.dispatch(counter.actions.increment()); store.dispatch(counter.actions.multiply(3)); store.dispatch(counter.actions.multiply()); console.log(`${counter.actions.decrement}`); store.dispatch(user.actions.setUserName('eric'));