use-form
Version:
32 lines (31 loc) • 1.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var react_1 = require("react");
var api_1 = __importDefault(require("../api"));
var useSubscription_1 = __importDefault(require("../hooks/useSubscription"));
var useForm = function (props) {
var initialValues = props.initialValues, initialErrors = props.initialErrors, validate = props.validate, onSubmit = props.onSubmit;
var api = react_1.useMemo(function () {
return new api_1["default"]({
initialValues: initialValues,
initialErrors: initialErrors,
validate: validate,
onSubmit: onSubmit
});
}, []);
var state = useSubscription_1["default"](react_1.useMemo(function () { return ({
getState: api.getState,
subscribe: function (callback) {
api.listener.on('subscribe', callback);
return function () { return api.listener.off('subscribe'); };
}
}); }, []));
return {
api: api,
state: state
};
};
exports["default"] = useForm;