hooked-form
TypeScript icon, indicating that this package has built-in type declarations

5.0.1 • Public • Published

Hooked-Form

npm version All Contributors Build Status Bundle size codecov

Documentation

Example

🌍 Installation

yarn

  yarn add hooked-form

npm

  npm i --save hooked-form

UMD

dev:

<script src="https://unpkg.com/hooked-form@latest/dist/hooked-form.umd.js"></script>

🎨 Example

import React from 'react';
import { HookedForm, useField } from 'hooked-form';
 
const StringField = ({ fieldId, label }) => {
  const [{ onChange }, { touched, error, value }] = useField(fieldId);
  const onInput = React.useCallback(e => onChange(e.currentTarget.value), [
    onChange,
  ]);
  return (
    <label>
      {label + ' '}
      <input value={value} onChange={onInput} />
      {touched && error && <div>{error}</div>}
    </label>
  );
};
 
const App = () => {
  return (
    <HookedForm
      onSubmit={console.log}
      validateOnBlur
      initialValues={React.useMemo(() => ({ name: '' }), [])}
      validate={values => (values.name ? {} : { name: 'Required' })}
    >
      <h3>Hooked Form</h3>
      <StringField label="Name:" fieldId="name" />
      <input type="submit" value="Submit" />
    </HookedForm>
  );
};
 
render(<App />, document.body);

💿 Modern build

This library offers a modern build (ES2015 output), this is smaller and parses faster in the browser. So if you don't plan to target older browsers feel free to use this.

Webpack

  "resolve"{
    "alias": {
      "hooked-form": "hooked-form/dist/hooked-form.modern.js"
    }
  }

Parcel

  "alias"{
    "hooked-form": "hooked-form/dist/hooked-form.modern.js"
  }

📢 Credits

😍Contributors

Thanks goes to these wonderful people (emoji key):


Laurens Lavaert

💻

Jovi De Croock

🚇 ⚠️ 👀 📖 💻

Jonathan Callewaert

🐛

Andrew Rempe

💻

Corentin Leruth

💻

Pavel Ravits

🐛

Tegan Churchill

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

Package Sidebar

Install

npm i hooked-form

Weekly Downloads

101

Version

5.0.1

License

MIT

Unpacked Size

187 kB

Total Files

24

Last publish

Collaborators

  • jdecroock