/
dedaMazai
/
reactGoodPattern
Обзор
Документация
Войти
/
dedaMazai
/
reactGoodPattern
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
moduleFederation/container/src/shared/lib/store/buildSlice.ts
24 строки
720 B
Andrey Chipizubov
add microFronts
25 май 2023, 01:05
25 май 2023, 01:05
ec973d2
Код
Авторство
О чём код?
import { bindActionCreators, createSlice } from "@reduxjs/toolkit"; import { SliceCaseReducers, CreateSliceOptions } from "@reduxjs/toolkit/dist"; import { useDispatch } from "react-redux"; import { useMemo } from "react"; export function buildSlice< State, CaseReducers extends SliceCaseReducers<State>, Name extends string = string, >(options: CreateSliceOptions<State, CaseReducers, Name>) { const slice = createSlice(options); const useActions = (): typeof slice.actions => { const dispatch = useDispatch(); // @ts-ignore return useMemo(() => bindActionCreators(slice.actions, dispatch), [dispatch]); }; return { ...slice, useActions, }; }