@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
15 lines (14 loc) • 558 B
JavaScript
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;
};