@greenlabs/ppx-rhf

0.0.2 • Public • Published

PPX react hook form

A ReScript PPX for the React Hook Form bindings

Example

@rhf
type inputs = {
  example?: string,
  exampleRequired: string,
}

@react.component
let default = () => {
  let {register, handleSubmit, watch, formState, getFieldState, setValue} = useFormOfInputs()
  let onSubmit = (data: inputs) => Js.log(data)

  Js.log(watch(Example))

  let exampleFieldState = getFieldState(Example, formState)
  Js.log(exampleFieldState)
  Js.log(setValue)

  <form onSubmit={handleSubmit(onSubmit)}>
    <input {...register(Example)} defaultValue="test" />
    <input {...register(ExampleRequired, ~options={required: true})} />
    {formState.errors.exampleRequired->Belt.Option.isSome
      ? <span> {"This field is required"->React.string} </span>
      : React.null}
    <input type_="submit" />
  </form>
}

More examples

Getting Started

Install

The ppx-rhf supports the uncurried mode only.

pnpm add -D @greenlabs/ppx-rhf
// rescript.json or bsconfig.json

"bs-dependencies": [
  "@greenlabs/ppx-rhf"
],
"ppx-flags": [
  ...,
  "@greenlabs/ppx-rhf/ppx"
],

API

Read more

Package Sidebar

Install

npm i @greenlabs/ppx-rhf

Weekly Downloads

247

Version

0.0.2

License

MIT

Unpacked Size

42.9 MB

Total Files

11

Last publish

Collaborators

  • minukang
  • gyeop
  • miryangjung
  • jaeholee.gl
  • namenu
  • moondaddi
  • yousleepwhen
  • kimchhickey