UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

15 lines (14 loc) 558 B
import { useConstant } from '../useConstant'; import { useUnmount } from 'ahooks'; import { ArgumentTypes } from '../../enums/ArgumentTypes'; import { useContextUseCase } from '../useContextUseCase'; export const useContext = (usecase, argumentTypes = ArgumentTypes.None) => { const { registerUseCase, unregisterUseCase } = useContextUseCase(); const context = useConstant(() => { return registerUseCase(usecase, argumentTypes); }); useUnmount(() => { unregisterUseCase(usecase, argumentTypes); }); return context; };