react-formal
Version:
Classy HTML form management for React
27 lines • 1.27 kB
JavaScript
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React, { useCallback } from 'react';
import useFormReset from './useFormReset';
import notify from './utils/notify';
/**
* A Form reset button
*
* @memberof Form
*/
function Reset(props) {
const {
onClick,
as: Component = 'button'
} = props,
rest = _objectWithoutPropertiesLoose(props, ["onClick", "as"]);
const [reset] = useFormReset();
const handleClick = useCallback(() => {
notify(onClick);
reset();
}, [onClick, reset]);
return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
onClick: handleClick,
type: "reset"
}));
}
export default Reset;