@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
28 lines • 936 B
JavaScript
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, {});
};