@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
35 lines (34 loc) • 1.31 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SafeUseCaseFragment = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _jsxRuntime = require("react/jsx-runtime");
var _useUseCase3 = require("../../hooks/useUseCase");
var _ahooks = require("ahooks");
var _react = require("react");
var SafeUseCaseFragment = exports.SafeUseCaseFragment = function SafeUseCaseFragment(_ref) {
var usecase = _ref.usecase,
watch = _ref.watch,
onMount = _ref.onMount,
onUpdate = _ref.onUpdate,
onChange = _ref.onChange;
var _useUseCase = (0, _useUseCase3.useUseCase)(usecase, {
watch: watch,
onChange: onChange
}),
_useUseCase2 = (0, _slicedToArray2["default"])(_useUseCase, 1),
entity = _useUseCase2[0];
var onEntityUpdate = (0, _ahooks.useMemoizedFn)(function () {
onUpdate === null || onUpdate === void 0 || onUpdate(entity);
});
(0, _ahooks.useMount)(function () {
onMount === null || onMount === void 0 || onMount(entity);
});
(0, _ahooks.useUpdateEffect)(function () {
onEntityUpdate();
}, [entity, onEntityUpdate]);
return (0, _jsxRuntime.jsx)(_react.Fragment, {});
};