# useForm

Source code is hosted on [GitHub](https://github.com/corets/use-form)

{% tabs %}
{% tab title="yarn" %}

```bash
yarn add @corets/use-form
```

{% endtab %}

{% tab title="npm" %}

```bash
npm install --save @corets/use-form
```

{% endtab %}
{% endtabs %}

This is a React integration for this package:

{% content-ref url="../services/form" %}
[form](https://docs.corets.io/services/form)
{% endcontent-ref %}

## useForm() <a href="#useform" id="useform"></a>

Use forms inside React components:

```typescript
import React from "react"
import { createForm } from "@corets/form"
import { useForm } from "@corets/use-form"

const Example = () => {
  const form = useForm(() => createForm({ text: "foo" }))
  
  return (
    <>
      <input 
        value={form.get("text")} 
        onChange={(e) => form.set("text", e.target.value)} />

      // with the static field
      
      <input 
        value={form.getFields().text.get().getValue()} 
        onChange={(e) => form.getFields().text.get().setValue(e.target.value)} />
    </>
  )
}
```
