nukeop/nuclear

View on GitHub
packages/app/app/hooks/useDispatchedCallback.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { useCallback } from 'react';
import { useDispatch } from 'react-redux';

type ActionCreator = (...args: any[]) => any;

export const useDispatchedCallback = <F extends ActionCreator>(action: F) => {
  const dispatch = useDispatch();
  return useCallback((...args: Parameters<F>) => dispatch(action(...args)), [action]);
};