並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 133件

新着順 人気順

HOOKの検索結果1 - 40 件 / 133件

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

HOOKに関するエントリは133件あります。 reacttechfeedReact などが関連タグです。 人気エントリには 『React 初心者の難問、カスタムフック(Custom Hook)を解説します』などがあります。
  • React 初心者の難問、カスタムフック(Custom Hook)を解説します

    最近社内レビュー会で React レビューが多くなり、「カスタムフック使ったらスッキリできます」という言葉もよく聞くようになりました。 私が初めてそれを耳にしたときは「なにそれ美味しいの?」みたいな感じでしたし、初心者にはピンとこない概念かなーと思いましたので、今回のテーマにしたいと思います。 1. カスタムフックとは カスタムフックは自分がカスタムして作るフックです。 React 公式サイトではカスタムフックをこう説明してます。 カスタムフックとは、名前が ”use” で始まり、ほかのフックを呼び出せる JavaScript の関数のことです。 でもこれだけ見たら絶対わからないと思うのでサンプルコートを一緒に見てみましょう。 2. チャットアプリの例 サンプルコートも React 公式サイトにあるものを持ってきました。 チャットアプリで友達がオンラインかオフラインかを示すメッセージを返す

      React 初心者の難問、カスタムフック(Custom Hook)を解説します
    • 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 はどのように再レンダリングを最適化しているのか?
                    • GitHub - shuding/tilg: A magical React Hook that helps you debug components.

                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                        GitHub - shuding/tilg: A magical React Hook that helps you debug components.
                      • React Hook Formハマりどころとベストプラクティス

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

                          React Hook Formハマりどころとベストプラクティス
                        • 🏏 素振り: 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
                          • 認知科学者が開発したHookというアプリとScrapboxの相性が良い - 堺市港区だより

                            https://hookproductivity.com/wp-content/uploads/2018/11/Hook-black.png

                              認知科学者が開発したHookというアプリとScrapboxの相性が良い - 堺市港区だより
                            • Next.jsのReact Hookへの最適化は一体何をしているのか - tosuke

                              これらの変換はビルトインなhookに対してconst [a, b] = useState(...)をconst {0: a, 1: b} = useState(...)にするが,これが一体何を意味しているのかわからなかったtosuke.icon

                                Next.jsのReact Hookへの最適化は一体何をしているのか - tosuke
                              • 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
                                  • GitHub - alewin/useWorker: ⚛️ useWorker() - A React Hook for Blocking-Free Background Tasks

                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                      GitHub - alewin/useWorker: ⚛️ useWorker() - A React Hook for Blocking-Free Background Tasks
                                    • 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 つパターン
                                      • 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%削減
                                        • 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
                                            • Argo CD Resource Hookを活用したKubernetes環境での負荷試験自動化の取り組み - ZOZO TECH BLOG

                                              はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、リリースフローにステージング環境での負荷試験を自動化する取り組みを行いました。今回説明する「負荷試験の自動化」が何を表すのかを定義すると、ここではステージング環境のアプリケーションバージョンを変更した際に、人の手を介さずに負荷試験が行われることを指します。 Kubernetes環境における負荷試験の自動化を検討している方は是非参考にしてください。 目次 はじめに 目次 負荷試験を自動化する前の課題 負荷試験のシナリオ設計 目的設定 現状調査 目標値設定 シナリオ設計 負荷試験を自動化する取り組み 構成 処理の流れ シナリオに沿ったリクエストを送る 実行結果をS3に保存してSlackに通知する

                                                Argo CD Resource Hookを活用したKubernetes環境での負荷試験自動化の取り組み - ZOZO TECH BLOG
                                              • Context API と useReducer で custom hook を作る時のテンプレート

                                                Context API と useReducer で custom hook を作る時のテンプレート2020-12-10 Context API と useReducer で custom hook を作る例が見つからなくて色々と思考錯誤をしていたのですが、現時点で自分なりにたどり着いた答えを紹介します。 フォルダ構成とそれぞれの役割 context, reducer, hooks で分けています。ただこだわりはなく、実際にはフォルダ構成はなんでもいいと思いますし、手を抜きたい時は Context のファイルに reducer を書いたりしています。 それでも技術的な関心には分離できるのでそのように分けることを意識しています。 context Context の作成と Provider でラップできる関数を作ります。 import { createContext, Dispatch, Re

                                                  Context API と useReducer で custom hook を作る時のテンプレート
                                                • 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は非制御コンポーネントからどのように変更を検知しているのか?

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

                                                        React Hook Formは非制御コンポーネントからどのように変更を検知しているのか?
                                                      • 実務で使った 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 - 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
                                                          • What the useEvent React hook is (and isn't)

                                                            This past week, the React core team published a Request for Comment (RFC) for a new React hook: useEvent. This post attempts to capture what this hook is, what it isn’t, and what my initial reactions are. Note that this is an RFC and isn’t released yet, so it isn’t available yet and its behavior could change. Trying to solve a real problem There’s a real problem useEvent is trying to solve. Before

                                                              What the useEvent React hook is (and isn't)
                                                            • HookとRedux ToolkitでReact Reduxに入門する | Hypertext Candy

                                                              この記事では、React アプリケーションに Redux を組み合わせる方法を紹介します。 タイトルの通り、React の機能である Hook と Redux の組み込みを簡単にしてくれるライブラリ Redux Toolkit を活用した比較的新しめの方法なので、他の解説記事とは少し異なる記述になるかもしれません。 これから React や Redux を勉強する方は戸惑うかもしれませんが、導入方法がいくつかあるというだけで、どちらも間違いではないので、参考の一つとして読んでください。 Redux とは 状態管理 Redux とは、JavaScript製の状態管理ライブラリです。 「状態」とは、アプリケーションで扱う動的なデータという理解でよいでしょう。たとえばユーザー名とか、いいねの数が「状態」です。状態は時系列とともに変化します。 状態管理ライブラリが解決する問題は、コンポーネントをま

                                                              • 打倒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で作るメニュー外クリックで閉じるドロップダウンメニュー - Qiita

                                                                        はじめに これまでドロップダウンメニューが必要な時はReact Bootstrapを用いていたのですが、自力でドロップダウンメニューを作る必要があったので、そのときの試行錯誤をメモとして残します。 ドロップダウンメニューが満たしてほしい仕様は以下の通りです。 ボタンクリックでメニューを表示/非表示 メニュー外をクリックしてもメニューが非表示になる ※一番最後にCodepenによるソースを載せています。 Step 1 まずは上記の一つ目の条件のみを満たす、基本的なドロップダウンメニューを作ります const Dropdown1 = () => { const[isOpenMenu, setIsOpenMenu] = React.useState(false); const handleClick = (text) => () => { alert(text); setIsOpenMenu(f

                                                                          React+Hookで作るメニュー外クリックで閉じるドロップダウンメニュー - Qiita
                                                                        • 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 useContextでデータ共有 | アールエフェクト

                                                                            ReactのuseContextはコンポーネント間でデータ(状態)の共有とデータ(状態)の受け渡しに関するHookです。useStateやuseReducerと組み合わせて利用することができます。まず本書では最も基本的なuseContextの使用方法について説明を行いその後にuseStateとuseReducerを使った利用方法を別々に説明します。その後コンポーネントのRe-renderについても動作確認を行い、本文書を読み終えるとuseContextがどのようなものかを理解することができます。 React 18で動作確認を行なっています。 useContextとは 通常親コンポーネントから子コンポーネントにデータを渡す際はpropsを介して行います。しかし親から子、そのまた子といったように複数のコンポーネントを介してデータを渡す場合にprops(prop-drilling)では設定が複雑

                                                                              こんなに簡単なの?React Hook useContextでデータ共有 | アールエフェクト
                                                                            • 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

                                                                                  新着記事