flecks/packages/redux/build/dox/hooks.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

2022-03-07 00:21:16 -06:00
import {Hooks} from '@flecks/core';
export default {
[Hooks]: {
/**
* Define side-effects to run against Redux actions.
*/
2022-03-08 16:03:06 -06:00
'@flecks/redux.effects': () => ({
2022-03-07 00:21:16 -06:00
someActionName: (store, action, flecks) => {
// Runs when `someActionName` actions are dispatched.
},
}),
/**
* Define root-level reducers for the Redux store.
*/
2022-03-08 16:03:06 -06:00
'@flecks/redux.reducers': () => {
2022-03-07 00:21:16 -06:00
return (state, action) => {
// Whatever you'd like.
return state;
};
},
/**
* Define Redux slices.
*
* See: https://redux-toolkit.js.org/api/createSlice
*/
2022-03-08 16:03:06 -06:00
'@flecks/redux.slices': () => {
2022-03-07 00:21:16 -06:00
const something = createSlice(
// ...
);
return {
something: something.reducer,
};
},
/**
* Modify Redux store configuration.
* @param {Object} options A mutable object with keys for enhancers and middleware.
*/
2022-03-08 16:03:06 -06:00
'@flecks/redux.store': (options) => {
2022-03-07 00:21:16 -06:00
options.enhancers.splice(someIndex, 1);
options.middleware.push(mySpecialMiddleware);
},
},
};