import { ActionCreator } from "@reduxjs/toolkit"; import { useCallback } from "react"; import { useDispatch, useSelector } from "react-redux"; import { AppDispatch, RootState } from "../store"; // function use export function useReduxStore any>( selector: T ) { return useSelector>(selector); } export function useAppDispatch() { return useDispatch(); } // TODO: Fix type export function useReduxAction>(action: T) { const dispatch = useAppDispatch(); return useCallback( (...args: Parameters) => dispatch(action(...args)), [action, dispatch] ); }