Closed8

FormikとReact Hook Formを実装してみる

nus3nus3

Formik

記載したいこと

  • formikとyupでのエラーメッセージの設定方法
  • fieldArray
  • validation
  • yupのカスタムバリデーション
  • radio buttonとcheckboxとselectの実装
  • <Field>をコンポーネント化するのではなく<Filed>のなかでカスタムのinputを表示する
nus3nus3

必要パッケージのインストール

  • yarn add formik yup
  • yarn add -D @types/yup

2021/01/05現在 下記のバージョンがaddされる
"formik": "2.2.6"
"yup": "0.32.8"
"@types/yup": "0.29.11"

nus3nus3

yupのエラーメッセージをカスタムにする場合のsetLocalの時のプロパティはこれ
また、これはバリデーションのルール一覧でもある

https://github.com/jquense/yup#api

setLocale({
  mixed: {
    required: () => `入力必須項目です。`,
  },
})
nus3nus3

React Hook Form

nus3nus3

必要なパッケージのインストール

  • yarn add react-hook-form @hookform/resolvers

2021/01/08現在 下記のバージョンがaddされる
"react-hook-form": "6.14.0"
"@hookform/resolvers": "1.3.2"

nus3nus3

refにregisterを突っ込むことで入力をreact-hook-form側でステート管理ができる感じかな
registerの引数にreact-hook-formでビルトインのバリデーションを突っ込める感じ?

registerの型はこれでいいのかな
register: (Ref, RegisterOptions?) => void

nus3nus3

checkboxやradioをatomsのコンポーネントとして分けた時に
registerをpropに渡したい
からregisterの型が知りたい

うーん
いったんanyでいっか

このスクラップは2021/01/09にクローズされました