Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 4x 4x 5x 5x 5x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 1x 2x 2x | import PropTypes from 'prop-types'; import React from 'react'; Form.propTypes = { action: PropTypes.string, method: PropTypes.oneOf(['get', 'post', 'put']), onSubmit: PropTypes.func, tagName: PropTypes.string }; export function Form({ action, method = 'post', onSubmit, tagName = 'form', ...args }) { const Tag = tagName; const handleSubmit = (event) => { event.preventDefault(); onSubmit(event); }; if (action) { return ( <Tag {...args} action={action} method={method} {...(onSubmit && { onSubmit: handleSubmit })} /> ); } return <Tag {...args} {...(onSubmit && { onSubmit: handleSubmit })} />; } Form.Submit = function Submit() { return <input type="submit" />; }; |