// Copyright 2020-2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import { ActionCreatorsMapObject, bindActionCreators } from 'redux'; import { useDispatch } from 'react-redux'; import { useMemo } from 'react'; export const useBoundActions = ( actions: T ): T => { const dispatch = useDispatch(); return useMemo(() => { return bindActionCreators(actions, dispatch); }, [actions, dispatch]); };