UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

28 lines 936 B
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import { jsx as _jsx } from "react/jsx-runtime"; import { useUseCase } from '../../hooks/useUseCase'; import { useMemoizedFn, useMount, useUpdateEffect } from 'ahooks'; import { Fragment } from 'react'; export const SafeUseCaseFragment = _ref => { let usecase = _ref.usecase, watch = _ref.watch, onMount = _ref.onMount, onUpdate = _ref.onUpdate, onChange = _ref.onChange; const _useUseCase = useUseCase(usecase, { watch, onChange }), _useUseCase2 = _slicedToArray(_useUseCase, 1), entity = _useUseCase2[0]; const onEntityUpdate = useMemoizedFn(() => { onUpdate === null || onUpdate === void 0 || onUpdate(entity); }); useMount(() => { onMount === null || onMount === void 0 || onMount(entity); }); useUpdateEffect(() => { onEntityUpdate(); }, [entity, onEntityUpdate]); return _jsx(Fragment, {}); };