並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 73件

新着順 人気順

"React Hook Form"の検索結果1 - 40 件 / 73件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

"React Hook Form"に関するエントリは73件あります。 reacttechfeedReact などが関連タグです。 人気エントリには 『React Hook Formを1年以上運用してきたちょっと良く使うためのTips in ログラス(と現状の課題)』などがあります。
  • React Hook Formを1年以上運用してきたちょっと良く使うためのTips in ログラス(と現状の課題)

    はじめに 早いものでこちらの記事が公開して約1年、ログラスでReactを書き始めて1年以上が経ちました。 今回はフロントエンドのアプリの中でも特段重要なフォーム、特にReact Hook Formについての解説をしていきます。 今回のTipsは公式がベストプラクティスとして発表しているものではなく、あくまで個人が1年間の経験の上で良いとしているものであしからず。 なるべく何故良いかの説明もしていきます。 目次 useFormをラップしてタイプセーフにする React Hook Formへの依存するコンポーネントを分ける yupを使って見通しの良いバリデーションを実装する 1. useFormをラップしてタイプセーフにする ログラスでは useForm をそのまま使うことはせずラップしています。理由は一部の型づけがゆるく実行時例外が起きる可能性があるためです。 問題なのは defaultVa

      React Hook Formを1年以上運用してきたちょっと良く使うためのTips in ログラス(と現状の課題)
    • サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog

      こんにちは!ミラティブのフロントエンドエンジニア どじねこ です。 今回は、ミラティブを支える社内向けの管理システムにおいて、機能開発の体験を改善する取り組みを「MUI と Zod、React Hook Form の活用術」としてご紹介させていただきます。 前提 ミラティブでは、他の多くの Web サービスと同様に配信者さんの登録した情報や配信の履歴を管理する社内向けのシステムが存在しています。 特に管理システムのフロントエンドにおいては、その特性上入力フォームの実装がその大半を占めています。 日々の機能開発においては、そうした管理システムに実装された入力フォームの新規実装や機能拡張が行われています。 課題 一般的な入力フォームでは、画面の初期描画の際にすでに設定済みの値をフォームに適用する初期化処理や、入力された内容を検証して必要に応じてエラー表示するバリデーション処理が必要です。 ミラ

        サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog
      • react-hook-form と zod でバリデーションのその先へ

        どうも、 uzimaru です。 最近、react-hook-form と zod を使っていい感じにやっているのでそれについてまとめようと思います。 react-hook-form で zod を使う 公式から利用する方法が提供されています。 https://www.npmjs.com/package/@hookform/resolvers これを useForm の resolver で利用することで zod が使えるようになります。 zod 以外にも Yup, Superstruct, Joi, io-ts などが利用できます import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import * as z from "zod"; const

          react-hook-form と zod でバリデーションのその先へ
        • React Hook FormとZodを組み合わせて利用する|食べログ フロントエンドエンジニアブログ

          こんにちは。食べログ フロントエンドチームの原田です。 現在担当しているプロジェクトで、React Hook FormとZodを組み合わせて利用する機会があったので、今回はReact Hook Formの基本的な使い方からスキーマバリデーションをZodに任せる方法を紹介をしたいと思います。 React Hook FormとはReact Hook Form は「高性能で柔軟かつ拡張可能な使いやすいフォームバリデーションライブラリ」をテーマに掲げた入力フォームの管理に特化した React 向けのライブラリです。 なぜReact Hook Formを利用したか今回のプロジェクトでは複雑なフォームを組む必要があり、フォームの状態管理を任せられる点や、パフォーマンス面、ドキュメントや検索でヒットする情報の多さからReact Hook Formを利用することを決めました。 基本的な使い方まずはReac

            React Hook FormとZodを組み合わせて利用する|食べログ フロントエンドエンジニアブログ
          • パフォーマンスを気にするならReact Hook Formが無難

            React Hook Form は高速。 Formik は早くない。改善は可能。 React Final Form はある程度早い。 React Hook Form が無難ではあるものの、CPU 6× slowdown で 100ms は通常では許容できると考え Formik を採用するのもあり。 比較したライブラリ 計測の対象にしたライブラリは以下の 3 つです。 React Hook Form Formik React Final Form パフォーマンス以外の特徴にも触れておくと、 React Hook Form TypeScript 製 頻繁に更新されている UI とフォームライブラリが密結合になりやすい Formik TypeScript 製 ある程度更新されている UI とフォームライブラリを疎結合にしやすい React Final Form コードのほとんどが JavaScr

              パフォーマンスを気にするならReact Hook Formが無難
            • React + TypeScript: React Hook Formでフォーム入力値をまとめて簡単に取得・検証する - Qiita

              React Hook Formは、フォームの入力データを検証まで含めて、まとめて簡単に扱えるライブラリです。ただ、導入のページ(「はじめる」)にコード例は示されているものの、説明があまりありません。本稿は、その中から基本的なコード例8つを採り上げ、公式ドキュメントの引用やリンクも加えて解説します。コード例はわかりやすい(あるいは動く)ように手直しし、CodeSandboxにサンプルを掲げました。 インストール React Hook Formは、npm installコマンドでつぎのようにインストールします。 アプリケーションを手もとでつくるには、Create React Appを使うのがよいでしょう。本稿のコード例の場合には、TypeScriptのテンプレートを加えてください(「React + TypeScriptのひな形作成とFullCalendarのインストール」参照)。 基本的な使い

                React + TypeScript: React Hook Formでフォーム入力値をまとめて簡単に取得・検証する - Qiita
              • React 18のSuspenseを使ってReact Hook Formの非同期な初期値の扱いを簡単にする - Qiita

                はじめに 普段はスタートアップで建設業界向けのSaaSの開発をしているtaroと申します。 今回はReact18で登場したSuspenseを触っていたら、React Hook Formでフォームの初期値に非同期な値を設定するのが簡単になりそうだなーって思ったので、試してみました。 React Hook Formを使ったことがない方でもきっとわかるような内容になっていると思うので、ぜひぜひ読んでみてくださいー! この記事はこちらのイベントに参加しています。 前提を揃えるためにReact Hook Formを少し復習 本題に入る前に、React Hook Formについて少し復習して前提を揃えていこうと思います。 (「復習はいらないよー!」って方は、React Hook FormでSuspenseを使うまで飛んでください!) またSuspenseについては、公式ドキュメントや別の記事等をご参考

                  React 18のSuspenseを使ってReact Hook Formの非同期な初期値の扱いを簡単にする - Qiita
                • React Hook Form はどのように再レンダリングを最適化しているのか?

                  【READYFOR×コミューン】業務に活かせるReact LT & 座談会 https://readyfor.connpass.com/event/224586/

                    React Hook Form はどのように再レンダリングを最適化しているのか?
                  • React Hook Formハマりどころとベストプラクティス

                    初めに React Hook Form(以後、RHF)はとても便利なバリデーションライブラリですが、非制御コンポーネント前提なのでRHFのAPIを通して全ての操作を行うことになります。 そのうえで、自分なりにつまづいたところやわかりづらかったところをまとめました。 個人的に結構このライブラリを扱うのに苦労しているので、皆さんもコメントで自分なりのハマりどころを書いたり、新しく記事にしたりしてネット上に知見が溜まればなと思っています。 ハマりどころ useFormのdefaultValuesは動的に変更しない これしっかりドキュメントに書いてあるんですが、defaultValuesを変更したい場合はresetAPIを使いましょう。 悪い例 このようにAPIからデータが返ってくるまで適当な初期値を渡しちゃうような設計だと、APIからデータが返ってきてもフォームの値が変わらないということがありま

                      React Hook Formハマりどころとベストプラクティス
                    • React Hook Form - performant, flexible and extensible form library

                      DXIntuitive, feature-complete API providing a seamless experience to developers when building forms. HTML standardLeverage existing HTML markup and validate your forms with our constraint-based validation API.

                        React Hook Form - performant, flexible and extensible form library
                      • 🏏 素振り: React Hook Form - memo_md

                        あーはいはい、React Hook Formね、知ってる知ってる(知らない) そんな状態なので素振りしておく。 React Hook Form https://react-hook-form.com/get-started React Hook Form の重要なコンセプトの一つは、非制御コンポーネント (Uncontrolled Components) をフックに登録(register) し、フォームフィールドの値を検証と収集できるようにすることです。 DOMベースに値を持つコンポーネントを主体に、いい感じにフォーム管理ができるものという理解をした。 自分がReactを書くときは今のところ制御コンポーネントを使うケースが多いので、React Hook Form 向けに脳をスイッチしないといけなさそう。 useForm と register 特に重要なのは useForm と regist

                          🏏 素振り: React Hook Form - memo_md
                        • React Hook Form v7 + MUI v5 + zod v3を使ったコンポーネント実装例 - RAKUS Developers Blog | ラクス エンジニアブログ

                          はじめに TextField RadioGroup SelectForm CheckboxGroup DatePicker コンポーネント使用側実装例 おわりに 本記事を執筆するにあたって、 マナリンク Tech Blog運営さんのReact Hook Form(v7)を使ったコンポーネント設計案 piyokoさんのMUI v5 + React Hook Form v7 で、よく使うコンポーネント達を連携してみる という記事を参考にさせていただきました。いつも非常にわかりやすい記事をありがとうございます。 はじめに こんにちは、ラクスフロントエンド開発課の斉藤です。 React Hook Form v7 + MUI v5 + zod v3を使ったよく使うコンポーネントの実装例を調査しており、こちらの記事を参考に実装を進めてみました。しかしRadioGroupやDatePickerをatom

                            React Hook Form v7 + MUI v5 + zod v3を使ったコンポーネント実装例 - RAKUS Developers Blog | ラクス エンジニアブログ
                          • 型付けを頑張る React Hook Form

                            はじめに React Hook Form は Controlled component と比べると利便性は高いですが、代償として型安全性をある程度放棄しています。この記事では React Hook Form を使いながらも型安全性を可能な限り高めるための解決策を紹介しています。 この記事で扱わないこと フォームライブラリを使うことの是非 React Hook Form の基本的な使い方 本題から逸れるコンポーネント設計の話 解決したいこと 次のような TextInput コンポーネント、NumberInput コンポーネントと、それらを使う Form コンポーネントについて考えます。 type TextInputProps = { name: string; }; const TextInput: React.VFC<TextInputProps> = ({ name }) => { co

                              型付けを頑張る React Hook Form
                            • React Hook Form で Zod を使う時の 5 つパターン

                              React Hook Form で Zod を使う時の 5 つパターン 2023.02.11 React Hook Form で Zod を使用する時によくあるバリデーションのパターンを 5 つ紹介します 非同期バリデーション email の重複チェックを行う場合には API に問い合わせる必要があるので、非同期でバリデーションをすることになるかと思います。 refine() メソッドはカスタムバリデーションロジックを提供するためのメソッドです。refine メソッドの第 1 引数には boolean を返すバリデーター関数を受け取ります、このバリデーター関数は Promise を返すことができるため、手軽に非同期のバリデーションを実施できます。 import { z } from "zod"; import { isUniqueEmail } from "./api"; export c

                                React Hook Form で Zod を使う時の 5 つパターン
                              • Uncontrolled Components でシンプル且つ高パフォーマンスなフォームの実装 - React Hook Form - Qiita

                                Uncontrolled Components でシンプル且つ高パフォーマンスなフォームの実装 - React Hook FormJavaScriptTypeScriptReactreact-hooksreact-hook-form この記事は READYFOR Advent Calendar 2020の13日目の記事です。 はじめに こんにちは。今年の11月から READYFOR でフロントエンドエンジニアとして働いている菅原(@kotarella1110)です! React と TypeScript が好きで、React Hook Form のメンバーだったりもします。React Hook Form は TypeScript で記述されているのですが、型の改善を中心にコントリビュートしております。 そこで、本記事では React Hook Form に関連した内容をお話しできればと思い

                                  Uncontrolled Components でシンプル且つ高パフォーマンスなフォームの実装 - React Hook Form - Qiita
                                • React Hook Formのアップデート内容 - Version 7 - Qiita

                                  (❤️ ブログ記事を翻訳してくれた日本のチーム、Kotaro、Keiya、Marinaに感謝します。) React Hook Formもそろそろ2年目を迎えようとしています。プロジェクト自体は、初日と同じように今でも活発に活動しています。この数年の間に、バージョン7の作成やデザインに繋がる多くの学びや経験がありました。私はここで、次のメジャーバージョンでの改善点とその理由をいくつか紹介します。フォームを構築するという点で、React開発者がより楽に開発できるようにする私たちの使命に変わりはありません。 V7 visions:  📖 (DX)厳密に型付けされたフォーム 🏋🏻‍♀️ シンプルさと一貫性 🏎 パフォーマンス 💁‍♂️ パッケージサイズの削減 このビジョンを説明するために、APIの変更点を見ていきましょう。 </> register 主な変更点の一つは register

                                    React Hook Formのアップデート内容 - Version 7 - Qiita
                                  • react-hook-form が Valibot に対応、Zod比較でバンドルサイズが92%削減

                                    Zodとの比較 公式サイトで、Valibot は、Zod と比較して、バンドルサイズが最大98%削減できると記述されています。今回作成した問い合わせフォームでも、92.2%の削減を確認できました。 VSCode 上で Zod で作成した Schema ファイルのサイズは gzipped 圧縮で12.8kです(Zod を利用した Schema はこちらを参照ください)。 ZodのSchema実装 import { z } from "zod"; const email: z.ZodString = z .string({ required_error: "入力が必須の項目です" }) .min(1, { message: "入力が必須の項目です" }) .max(255, { message: "255文字以内で入力してください" }) .email({ message: "メールアドレスの

                                      react-hook-form が Valibot に対応、Zod比較でバンドルサイズが92%削減
                                    • React Hook Form でも再描画に気を付ける

                                      React Hook Form を使うと、useStateを使う制御フォームにありがちな「頻繁な再描画」を手短かに防ぐことができます。しかし、使い方によっては、その利点を崩してしまうことがあります。それが、useFormの戻り値に含まれるwatchの使用です。 watch は頻繁な再描画の原因になる 次のコンポーネントは、よくあるサインアップフォームです。emailに入力された文字数をカウントし、インタラクティブに「何文字入力されているか」を表示します。watchは、このような値の購読に利用できる API です。しかしコメントにあるとおり、emailに文字が入力されるたび、このフォーム全体が再描画されてしまします。これは、多くの要素を含むコンポーネントで避けたい実装例です。 const defaultValues: Form = { email: "", password: "", };

                                        React Hook Form でも再描画に気を付ける
                                      • Blitz.jsの議論から学ぶ,formik vs react-final-form vs react-hook-form - Qiita

                                        const { register, handleSubmit } = useForm(); const firstNameRef = useRef(); const onSubmit = data => console.log(data); return ( <form onSubmit={handleSubmit(onSubmit)}> <input name="firstName" ref={(e) => { register(e) // hook-form register firstNameRef.current = e // manually assign your ref }} /> ref={ref}で渡したいのに…。 react-final-formのデメリット render propsが初心者には難しいのではないか?というコメントがいくつかあった。 基本的にrender

                                          Blitz.jsの議論から学ぶ,formik vs react-final-form vs react-hook-form - Qiita
                                        • ホーム | React Hook Form - Simple React forms validation

                                          import React from "react"; import { useForm } from "react-hook-form"; const Example = () => { const { handleSubmit, register, formState: { errors } } = useForm(); const onSubmit = values => console.log(values); return ( <form onSubmit={handleSubmit(onSubmit)}> <input type="email" {...register("email", { required: "Required", pattern: { value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i, message: "i

                                            ホーム | React Hook Form - Simple React forms validation
                                          • 実務で使った React-Hook-Form × Zod の事例紹介 - バイセル Tech Blog

                                            はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の 24 日目の記事です。 前日の記事は田中さんの「環境構築をコマンドでまとめてみた」の記事でした。 ​ こんにちは! テクノロジー戦略本部 開発二部の小林です。 ​ 自分が担当したプロジェクトでは、弊社で初めてバリデーションライブラリとして Zod を使用し、React-Hook-Form × Zod の構成でフォームを作成しました。 ​ 本記事では、実際にプロジェクトで実装した事例を紹介したいと思います。 ​React-Hook-Form × バリデーションライブラリの技術選定に迷っている方がいましたら、ご参考になれば幸いです。 はじめに 対象読者 React-Hook-Form とは Zod とは なぜ React-Hook-Form とバリデーションライブラリを組み合わせるのか バリデーションライブラ

                                              実務で使った React-Hook-Form × Zod の事例紹介 - バイセル Tech Blog
                                            • React Hook Formは非制御コンポーネントからどのように変更を検知しているのか?

                                              はじめに React Hook Form が 「非制御コンポーネント」 としてフォームを扱うことでパフォーマンスなどを最適化しているのは有名ですが、 「watch や useWatch で値が入力されるたびにどのように変更を検知しているのか?」 などについては意外と知っている人が少なそうだったのでまとめてみました。 どなたかの参考になれば幸いです。ぜひ最後までご覧ください。 「非制御コンポーネント」とはなにか? 本題に入る前に、まず React Hook Form を語る上では欠かせない 「制御コンポーネント」「非制御コンポーネント」 について軽く触れておきます。 制御コンポーネント まず「制御コンポーネント」とは一言で言うなら 「入力要素の状態を React(state)が保持するコンポーネント」 のことです。 メリットとしては常に値にアクセスできるため、「ユーザが入力中にバリデーション

                                                React Hook Formは非制御コンポーネントからどのように変更を検知しているのか?
                                              • 打倒React Hook Formを掲げてもくもく会を主催したが、結局Rhf強ぇ〜ってなった話

                                                React Hook Form、便利ですよね。 とはいえReactのFormライブラリ自体は複数あるはずで、今はReact Hook Formが人気だけどそのうち覇権が移ることもあるのではと思い、以下のようなツイートをしてみたところ、思いのほか反応がありました。 という流れで以前から仲良くさせていただいているアセンド株式会社の方にお声がけいただいて、あれよあれよというまにconnpassが立ち上がりました。 この記事は、打倒React Hook Formを掲げて冬の夜にもくもく会に集まった約10人の猛者たちが、結局React Hook Form強ぇ〜ってなるまでのお話です。 ライブラリのリストアップ もくもく会自体はゆるふわで、唯一の参加条件は自ら手を動かして学ぼうとする者、といった感じで行いました。 参加者がリストアップした、React Hook Formを打倒してくれそうなライブラリは

                                                  打倒React Hook Formを掲げてもくもく会を主催したが、結局Rhf強ぇ〜ってなった話
                                                • React-Hook-Form APIを使って、ボタンによるフォーム値の操作を行ってみた | DevelopersIO

                                                  こんにちは。データアナリティクス事業本部 サービスソリューション部の北川です。 react-hook-formはReact用のフォームバリデーションライブラリになります。一から実装するよりも、フォーム値の管理や検証が容易になります。ドキュメントも見やすく、人気の高いライブラリです。 今回は、react-hook-formで提供されているAPIをいくつか使用して、ボタンによるフォームの操作を、簡単にまとめてみました。 基本的な使用方法 Next.jsプロジェクトを作成します。 npx create next-app --ts プロジェクトに移動し、react-hook-formをインストールします。 yarn add react-hook-form register react-hook-formでは、useFormフックを使用して、フォームの値を管理します。 register()の引数に、

                                                    React-Hook-Form APIを使って、ボタンによるフォーム値の操作を行ってみた | DevelopersIO
                                                  • react-hook-formとモーダルの設計原則

                                                    reactでformを作る時、react-hook-formを使う方も多いと思います。react-hook-fomで実装すると、非制御コンポーネントベースなためレンダリングコストを減らすことが期待でき(実装にもよります)、また、zodとの連携によるバリデーション実装の容易さなど、実装や設計面においても多くのメリットが得られます。 一方で、チームでreact-hook-fomを使って実装を進めていくには設計的難しさを伴うことがあります。筆者は実際にform内におけるモーダルの実装で設計の見直しを迫られました。 本稿は実際に設計を見直すことで筆者が感じた、react-hook-fomの実装における設計の勘所の紹介記事になります。 2つのformの実装原則 先に結論です。react-hook-fomを使ったform実装においては以下の2つの原則を守ることが設計上重要になってきます。 form実装

                                                      react-hook-formとモーダルの設計原則
                                                    • React Hook Form(v7)を使ったコンポーネント設計案

                                                      本記事ではReact Hook Form(v7)を使ったコンポーネント設計のアイデアについて話します。 React Hook Formはその名の通り、Hooksをベースにフォームのバリデーション設定を記述できるライブラリで、特にv7で大きな変更が入りました。そのため、本記事ではv7前提であることをタイトルで明記しています。 Hooksにフォームのロジックが切り離されることにより、理論的には、TSXで記述されたView層と、バリデーションを司るロジック層を切り離して実装することができるはずです。 オンライン家庭教師マナリンクで提供しているオンライン指導の機能にてこちらの設計を実践してみたので、どなたかの参考になれば幸いです。 前提条件 React v17 React Hook Form v7 Material UI v5 ※View層、ロジック層という命名は適当に考えたものなので、もっと適切

                                                        React Hook Form(v7)を使ったコンポーネント設計案
                                                      • React Hook Form を使って、チェックボックスで1つ以上のチェックを必須とするフォームを作ってみよう - ANDPAD Tech Blog

                                                        この記事は ANDPAD Advent Calendar 2022 の 22日目の記事です。 はじめまして、私フロントエンドエンジニアのはつし(蓮子)と申します。盟友&尊敬するマネージャーの櫻井賢司こと KJ からバトンを受け取り、22日目を担当させていただきます。slack上のニックネームは 824 で、メンションつける時は1秒で済むのがメリットです。あだ名を聞かれたら一応「はっちゃん」と呼ばれてましたと言うようにしていますが、ちゃん付けがとても似合わないスキンヘッド&髭面なので、ヒゲおじさんとかでもOKです。 最近の趣味は、オフィスのある秋葉原で、路地裏の美味しいの食事処を探すことです。仲間募集中。 アンドパッドに2021年12月に入社して、ちょうど1年が経とうとしたタイミングでブログを書くことになったのは何かの縁なのかもしれません。そんな記念すべき日に何を書こうか悩みましたが、まずは

                                                          React Hook Form を使って、チェックボックスで1つ以上のチェックを必須とするフォームを作ってみよう - ANDPAD Tech Blog
                                                        • React Hook Formとは?煩雑なフォームのstate管理を楽に実装する! - stmn tech blog

                                                          目次 はじめに Reactを使用したフォーム設計パターンについて React Hook Formとは ? React Hook Formの基本機能の紹介 React Hook Formのユースケース 最後に はじめに こんにちは、株式会社スタメンでエンジニアをしています、ワカゾノです。 Rails、Reactを使用して、弊社プロダクトTUNAGの機能開発を行っています。 直近のプロジェクトにおいて、Reactでフォームを実装する必要がありました。 要件としては、下記のようになります。 新規作成時、編集時のフォームをerbから、Reactへリプレイス 1画面毎に3 ~ 6つのフォームが存在、それを10数画面分実装 各フォームの入力値に応じて画面の表示を動的に変更する 例) 選択しているラジオボックスにより、フォーム要素の表示、非表示を切り替える 各フォームに細かいバリデーションが必要 例 )

                                                            React Hook Formとは?煩雑なフォームのstate管理を楽に実装する! - stmn tech blog
                                                          • React Hook Form v7とMaterial UIを組み合わせるときの挙動 | DevelopersIO

                                                            Web アプリケーションを作るときにフォームは避けることができない問題の1つです. 私はReact Hook Form (RHF)をよく利用してフォームを構築します. RHF v7とMaterial UI v4のTextFieldを結合したときにうまく動いたり動かなかったりして少し困ったのでそこの原因とワークアラウンドについてかければと思っています. environment React: 17.0.x React Hook Form: 7.6.x Material UI: 4.11.x fundamental knowledge React Hook Form(RHF) v7ではregister関数の返り値をフォーム要素に渡すことで繋ぎ込みを行います. v6ではrefに対して直接registerを渡していました. <input name="name" ref={register} /> v

                                                              React Hook Form v7とMaterial UIを組み合わせるときの挙動 | DevelopersIO
                                                            • React 初心者が Material-UI で今どきの Web フォームを作ってみた(react-hook-form編) | DevelopersIO

                                                              React 初心者が Material-UI で今どきの Web フォームを作ってみた(react-hook-form編) React 初心者が、Material-UI と React Hook Form v7 を活用して今どきの Web フォーム開発に挑んでみました! この7月からカスタマーサクセスという役割にロールチェンジしました、下田です。 つい先日、React(+ React Hook Form)と Material-UI を組み合わせた Web アプリ開発を始めました。 Web アプリ開発の初心者でも簡単に、かつ今っぽい Web フォームを開発することができたので、少しコードを交えてご紹介してみたいと思います。 なお本記事は、前の記事(Stepper編)に続く形式となりますので、お時間あれば下記の記事も合わせてご参照いただけますと幸いです。 作ってみた 筆者の開発環境は、下記のと

                                                                React 初心者が Material-UI で今どきの Web フォームを作ってみた(react-hook-form編) | DevelopersIO
                                                              • React Hook Form × Chakra UIで作るEFOを考慮したフォーム

                                                                Reactでフォームを作成する際に使いやすいライブラリ「React Hook Form」を使ったフォームを、最近流行りの「Chakra UI」を使って作成したいと思います。 DEMO React Hook Form 使いやすさに重点を置いた、React用の高性能なフォームバリデーションライブラリ。 同様のライブラリ「Formik」や「Redux-Form」に比べ、コンポーネントの再レンダリングが少なく、パフォーマンスに優れた作りとなっています。 Chakra UI 2021/01/05現在、スター数13.9kと、急成長中のReact UIコンポーネントライブラリ。 あらかじめ多くのデザインパーツが揃っているので、すぐにReactアプリに導入が可能です。 WAI-ARIA準拠の設計で、アクセシビリティにも配慮されています。 下記のように必要なコンポーネントを呼び出して使います。 import

                                                                  React Hook Form × Chakra UIで作るEFOを考慮したフォーム
                                                                • MUI v5とReact Hook Form v7でサクッとフォームバリデーションを作る | DevelopersIO

                                                                  MUI(Material UI)v5とReact Hook Form v7でサクッとフォームのバリデーションを作る方法をまとめました! Material-UI v4とReact Fook Form v6を使い続け、幾多の時が過ぎていた浦島太郎状態の片岡です。 今回は新しいプロジェクトを作る際に、MUI v5(v5でMaterial UIからMUIに名称変更)とReact Hook Form v7を採用した結果今までの苦労はなんだったのか・・・となったのでブログにしました! 準備 MUIとReact Hook Formを使ってフォームを作れるようにしていきます。 Reactプロジェクトを作成 適当にプロジェクトを作ります。 yarn create react-app sample-project --template typescript ライブラリをインストール 実際に使うライブラリをイン

                                                                    MUI v5とReact Hook Form v7でサクッとフォームバリデーションを作る | DevelopersIO
                                                                  • React Hook Formの基本を理解してフォームを作成してみよう | アールエフェクト

                                                                    React Hook FormはReat用のフォームバリデーションライブラリです。input要素に入力した値を取得するだけではなくバリデーション機能なども備えており簡単にフォームを実装することができます。入力フォームの作成が嫌いな人もライブラリの力を借りることでフォーム作成の手間を軽減することができます。バリデーションについてはReact Hook Form自身も機能を備えていますがバリデーションライブラリのZod, Yupを利用することも可能でそれらのライブラリを利用した場合の設定方法についても説明しています。 本文書ではすぐに実践で活用できるようにバリデーションやエラーメッセージの表示などフォームを作成する上で必要な機能を中心にシンプルなコードを利用して説明しています。 利用する React Hook Form ライブラリのバージョンは 7 です。React のバージョンは 18.2.

                                                                      React Hook Formの基本を理解してフォームを作成してみよう | アールエフェクト
                                                                    • React Hook Formでフォームに初期値を非同期で与える | DevelopersIO

                                                                      唐突ですがcontrolled componentsで更新系のフォームを扱う場合には下記のようなパターンで描写されることが多いです. 初期処理 DOMの描写が走る useEffectなどでデータを非同期にフェッチする 値を状態にセットする 再描写が走る さらに唐突ですが, React Hook Form (RHF) はuncontrolled componentsを採用しているためパフォーマンスが優れています. RFHは値の取得や変更をRef経由で行います. そのため下記のようなコードの場合, TextFieldのラベルがshrinkしません. <TextField label="california" id="california" name="california" inputRef={register} /> californiaが沈んだままですね. これはいけません. InputL

                                                                        React Hook Formでフォームに初期値を非同期で与える | DevelopersIO
                                                                      • NextでのFormのライブラリ選定をするためにFormikとReact Hook Formを実装してみて

                                                                        概要 個人的には下記の観点から React Hook Form を推す方向で進めようと思った React Hook Formはドキュメントがおしゃんで、さらに日本語対応してる useFormContext や FormProvider など、既存の React Context と同じような使用感でコードをわかりやすくかけた(とっつきやすかった) ref={register}がめちゃめちゃ楽 比較 input 入力時のレンダリング回数等のパフォーマンスの計測はしてませぬ あくまで実装の違いのみ ただ React Hook Form のドキュメントの中でわかりやすい比較表を作ってくれてるのでそれが参考になるかと(いや、ほんとは自分で調べないといけないと思ってるんですよ・・わかってるんですよ・・) 環境 { "dependencies": { "@hookform/resolvers": "1.

                                                                          NextでのFormのライブラリ選定をするためにFormikとReact Hook Formを実装してみて
                                                                        • React-Hook-Form + Zodでよくあるパスワードバリデーションを実装する

                                                                          パスワード設定画面によくある画面のバリデーションをReact-Hook-Form(以下 rfc), Zodで実装します 実装する項目は以下の通りです 現在のパスワードと新しいパスワードが一致しているか 新しいパスワードと確認用のパスワードが一致しているか こちらの記事に、rfcとzodを利用した基本的なフォームの実装法を載せてあります! 導入についてはこちらをご覧ください 結論 .refineまたは.superRefineを使いましょう! const schema = z .object({ currentPassword: z.string().min(1, 'パスワードを入力してください'), newPassword: z .string() .min(8, 'パスワードは8文字以上で入力してください') .regex( /^(?=.*?[a-z])(?=.*?\d)[a-z\d]{8

                                                                            React-Hook-Form + Zodでよくあるパスワードバリデーションを実装する
                                                                          • react-hook-formの使い方まとめ - Qiita

                                                                            久しぶりの投稿になります。今後は月1ぐらいで記事投稿できるようにに頑張ります!以前react-hook-formについての記事を書いたのですが、バージョン7になって大きく変わったので改めて書いてみました。バージョン7で大きく変わったので、バージョン7より前を使っている方も多いと思い、以前書いた記事も残しす形にしました。 バージョン6はこちら↓ react-hook-formの使い方を解説 v6.13.0 useController追加! 参考:公式ドキュメント react-hook-formとは inputとかのformに関係するデータを使う際に、useStateを使うときよりもレンダリング回数を減らせたり、バリデーションも簡単に実装できてとても便利です! インストール import { useForm, SubmitHandler } from 'react-hook-form'; im

                                                                              react-hook-formの使い方まとめ - Qiita
                                                                            • 【2022年】 React Hook FormでValidationライブラリはどれにするか?

                                                                              React + Typescript + MUIv5 + React Hook Form で開発環境を作成しています。 今回は React Hook FormでValidationライブラリをどれにするか? について調査しました。 React Hook Form が標準で対応しているライブラリ React Hook Form が標準で対応しているライブラリは以下の10個になります。 正確には React Hook Form で 外部の検証ライブラリを使用する為に @hookform/resolvers が必要なのですが、この @hookform/resolvers が標準対応しているライブラリが以下の10個になります。 その他のライブラリもカスタムリゾルバを構築して使用できます。 class validator https://github.com/typestack/class-vali

                                                                                【2022年】 React Hook FormでValidationライブラリはどれにするか?
                                                                              • React Hook Form VS Formik

                                                                                Working with forms is one of the most challenging problems to solve when developing applications with React. React is a minimalist UI library focused only on controlling the behavior of the interface, making sure that the UI change appropriately as a response to the user’s activity. It doesn’t offer a complete solution for responding to user’s inputs, but it does offer a method to save form values

                                                                                  React Hook Form VS Formik
                                                                                • 実務で使った React-Hook-Form × Zod の事例紹介 - バイセル Tech Blog

                                                                                  はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の 24 日目の記事です。 前日の記事は田中さんの「環境構築をコマンドでまとめてみた」の記事でした。 ​ こんにちは! テクノロジー戦略本部 開発二部の小林です。 ​ 自分が担当したプロジェクトでは、弊社で初めてバリデーションライブラリとして Zod を使用し、React-Hook-Form × Zod の構成でフォームを作成しました。 ​ 本記事では、実際にプロジェクトで実装した事例を紹介したいと思います。 ​React-Hook-Form × バリデーションライブラリの技術選定に迷っている方がいましたら、ご参考になれば幸いです。 はじめに 対象読者 React-Hook-Form とは Zod とは なぜ React-Hook-Form とバリデーションライブラリを組み合わせるのか バリデーションライブラ

                                                                                    実務で使った React-Hook-Form × Zod の事例紹介 - バイセル Tech Blog

                                                                                  新着記事