並び順

ブックマーク数

期間指定

  • から
  • まで

681 - 720 件 / 1808件

新着順 人気順

reactの検索結果681 - 720 件 / 1808件

  • React Reduxの仕組みを説明 - Qiita

    はじめに 実務でReduxを使用するプロジェクトに入るので、Reduxの学習をしました。 理解を深めるためにReact+ReduxでのバックエンドとのAPI通信を用いてReduxの仕組みを説明します。 解説の流れ Reduxの利点の説明 ログイン機能を用いてreduxの処理の流れの説明 ReduxToolkitを使用した際のコードの変化の説明 ログイン状態を維持させる(おまけ) 1.Reduxの利点の説明 Reduxは状態管理のライブラリです。 アプリケーションの状態を一元管理することで、予測可能な方法で状態の更新を行うことができます。 私が考える主な利点は二つあります。 状態が一元管理されるのでpropsの受け渡しをせずに済みます コンポーネントの階層構造が深ければ深いほどメリットがあると思います。 reduxの状態管理の流れを理解すれば状態の流れを追いやすい action 状態変化を表

      React Reduxの仕組みを説明 - Qiita
    • Reactアプリ100本ノックを実践する 〜04 Timer〜 - Qiita

      はじめに こちらの記事は、@Sicut_studyさんがアップしている【Reactアプリ100本ノック】シリーズに相乗りし、アウトプットを行うための記事になります。 実装ルールや成果物の達成条件は元記事に従うものとします。 元記事との差別点として、具体的に自分がどんな実装を行ったのか(と必要に応じて解説)を記載します。 @Sicut_studyさんのノック100本についていき、Reactを100日間学ぶのが目標です。 今回の元記事はこちら 前回の記事 問題 タイマーアプリを作成する ルール 元記事より引用 主要なライブラリやフレームワークはReactである必要がありますが、その他のツールやライブラリ(例: Redux, Next.js, Styled Componentsなど)を組み合わせて使用することは自由 TypeScriptを利用する 要件をみたせばデザインなどは自由 達成条件 元記

        Reactアプリ100本ノックを実践する 〜04 Timer〜 - Qiita
      • React Query-データ更新編

        TanStack | High Quality Open-Source Software for Web Developers React Query について公式ドキュメントを読みながら自分に必要なものをまとめたメモを記事化したもので以下の 4 つの記事で構成されています。記事ができたものから順次リンク化していきます。 React Query-基礎知識編 React Query-データ取得編 React Query-データ更新編 React Query-テスト編 データの更新 - useMutation Mutations | TanStack Query Docs useMutation を使う const mutation = useMutation((userId) => deleteUser(userId)) return ( <button onClick={() => mut

          React Query-データ更新編
        • React.jsのdangerouslySetInnerHTMLは内部実装がinnerHTMLなので、scriptタグのスクリプトは評価されない。 - FloClog

          Reactプロジェクトでユーザーが定義した任意のhtml要素を描画したいとき、dangerouslySetInnerHTMLを使ったりすると思うのだけれど、これを使ってもscriptタグ内のスクリプトは実行されない。

            React.jsのdangerouslySetInnerHTMLは内部実装がinnerHTMLなので、scriptタグのスクリプトは評価されない。 - FloClog
          • ReactでFont Awesome、Google Fonts、normalize.cssを使ってみる。 | onebitious's BLOG

            投稿日:2023年3月19日 なかなか仕事でRaectを使う機会がありません。 他にReactを使える人材がいないので自分が不在のときにメンテナンスができない、時間がない。 などなど。。。言い訳はいけませんね。。。 Webサイトを作るとき、Google Fonts、Font Awesome、normalize.cssを読み込んで使っています。 これをReactで読み込む方法を備忘録を兼ねブログに書いてみました。 ▼今回のゴールです。 Reactプロジェクトからbuildしたものです。 Font Awesome以外見分けづらいと思いますが、Google Fontsとnormalize.cssも読み込まれています。 Google Fonts▲Google Fontsサイトにアクセスし、使用したいフォントを選択します。 埋め込み方法で@importをチェックし、下のソースコードをコピーします。

              ReactでFont Awesome、Google Fonts、normalize.cssを使ってみる。 | onebitious's BLOG
            • @auth0-reactとaxiosとTanstack Queryを使用したAPI通信 - Qiita

              はじめに はじめまして、株式会社うるるのtakuyaです。 この記事では、Nuxt.js v2からReactへの移行過程で、auth0-reactとaxiosを使用する上で遭遇した困難について、記録として残したいと思います。 今回の想定読者 auth0-reactとaxiosの使用に困っている方 Tanstack Queryとauth0-reactの組み合わせ方に悩んでいる方 今回の記事の内容 auth0-reactの初期設定 auth0-reactとaxiosの組み合わせ方 Tanstack Queryを用いて、auth0-reactとaxiosの使用時 技術スタックとしては、React18、Mantine UI、TailwindCSSを使用していますが、本記事ではこれらについては触れません。また、auth0の基本設定については別の記事をご覧ください。 src ├── App.tsx ├

                @auth0-reactとaxiosとTanstack Queryを使用したAPI通信 - Qiita
              • <備忘録>Viteで作ったReact app内の全てのconsole.logを一瞬でdeactivateする方法 - Qiita

                React内のconsole.logをbuild時に一括deactivate サーバーにアプリを上げる前に、console.logを一括してディアクティヴェート出来る超便利な方法があるんだけど、いつもやり方を忘れるので、備忘録としてログ。 1,rollup-plugin-strip をインストール

                  <備忘録>Viteで作ったReact app内の全てのconsole.logを一瞬でdeactivateする方法 - Qiita
                • 8月社内Tech勉強会レポート – NextJS13/React18/Vercel/Mountpoint for Amazon S3/Planet Scale Boost

                  勉強会では、いつも大きく「Tech News」と「Tech Share」の2つのカテゴリーを取り上げてます。 TechNewsは最近の技術関連のNewsについてさらっと共有し、意見交換したり、深掘りしたりします。 過去には例えばこちらの「Chrome DevTool113からresponse headerのdebugが可能になった」や「docker initがリリースされたから使ってみたら便利だった(Beta)」や、「Vue3.3 RurouniKenshin紹介」など、様々なジャンルのニュースを取り扱って紹介しております。 こちらのような「web platform baselineの紹介」のNewsでは、要件定義や開発時の共通言語としても役立てそうだねと盛り上がりました。 TechShareは「この技術使ってみた」「このソースコードレビューしてほしい」など、まー、発表者による自由枠です。

                    8月社内Tech勉強会レポート – NextJS13/React18/Vercel/Mountpoint for Amazon S3/Planet Scale Boost
                  • Reactを最低限理解するまでの過程 - なんか様子が ヘンです・・・

                    はじめに この記事は フィヨルドブートキャンプ Part 1 Advent Calendar 2023 - Adventar の22日目の記事です。 フィヨルドブートキャンプ Part 2 Advent Calendar 2023 - Adventar もあります。 素晴らしい記事盛りだくさんなので、みなさん是非、フィヨルドブートキャンプのアドベントカレンダーをクリックしてみて下さい! Reactを学習する必要性 はじめまして。 FJORD BOOT CAMP(フィヨルドブートキャンプ)を昨年卒業したclio209です。 フィヨルドブートキャンプの卒業課題を、主にRubyonRailsでバックもフロントも作りました。が、訳あって、そのアプリを拡張することになり、バックはRails APIモード、フロントをNEXT.js、データのやり取りはGraphQLを使用することとなりました。 それで、

                      Reactを最低限理解するまでの過程 - なんか様子が ヘンです・・・
                    • 【dnd-kit】Reactでドラッグアンドドロップ機能を実装するモダンなライブラリdnd-kitの使い方を解説

                      dnd-kitとは?dnd-kitとは、Reactでドラッグアンドドロップを実装することができるライブラリの1つです。 dnd-kitは公式でサンプルを用意してくれているので、どんなようなものがあるのか知りたい方はまずこちらのサイトを参考にしてみてください。 なぜdnd-kitなのかReactでドラッグアンドドロップを提供しているライブラリだと、 React DnDreact-beautiful-dndなどがあると思います。こららのライブラリに比べて比較的にとっかかりやすいのがdnd-kitだと考えています。 また、npm trendsを見てみてもdnd-kitはReact-DnDやreact-beautiful-dndに比べて人気は劣るものの、確実に差を詰めていることがわかります。今後はdnd-kitが主流になっていくのではないかと考えています。 参考:npm trends ただ、dnd

                        【dnd-kit】Reactでドラッグアンドドロップ機能を実装するモダンなライブラリdnd-kitの使い方を解説
                      • 新卒フロントエンド職同期と「React のドキュメントを読む会」をやってみた - Cybozu Inside Out | サイボウズエンジニアのブログ

                        こんにちは!kintone フロントエンド刷新プロジェクト(通称フロリア)にてエンジニアをしている キム テフンです。今日は フロントエンド職で新卒入社後にできることの一例として、現在も継続して社内で開催している「React のドキュメントを読む会」の事例を紹介しつつ、面白かった React の学びを少しだけ共有したいと思います! ※ この記事は Cybozu Frontend Advent Calendar 2023 の 5 日目の小さなトリートになります :) 目次 React のドキュメントを読む会を始めたきっかけ 社内勉強会開催のハードル 社内勉強会の内容紹介 みんなでアウトプット 個人でアウトプット BONUS:面白かった学びの共有 useRefのベースはuseState? keyでstateをリセットする「上級技」 あとがき React のドキュメントを読む会を始めたきっかけ

                          新卒フロントエンド職同期と「React のドキュメントを読む会」をやってみた - Cybozu Inside Out | サイボウズエンジニアのブログ
                        • Vite+React+Typescript+EsLint+Prettierの環境構築でめちゃくちゃハマった話(2023/8)

                          結論 @eslint/config から Airbnb スタイルが外されていて Standard スタイルを選択すると dependency ERROR を起こす。 最後に気づいたけど多分 yarn を使えば解決?(yarn だとバージョン指定すると勝手にダウングレードしてくれる。) どうも Airbnb が完全に TypeScript に対応していないため外されたようだけど、記事やら blog やら見ると皆 Airbnb スタイルでやっていて、めちゃくちゃハマったわ…。 npm でのインストール方法を自分用に書いておく。 出てくるエラー npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: vite-react@0.0.0

                          • FigmaのデザインをReact Nativeにエクスポートする方法

                            FigmaのデザインをReact Nativeにエクスポートする方法について、開発者向けのガイドが公開されました。このガイドでは、FigmaのDev Modeやさまざまなプラグインを使用することで、デザインと開発のギャップを埋める方法が詳しく解説されている。 FigmaのデザインをReact Nativeにエクスポートする方法について、開発者向けのガイドが公開されました。このガイドでは、FigmaのDev Modeやさまざまなプラグインを使用することで、デザインと開発のギャップを埋める方法が詳しく解説されている。 FigmaのDev Modeは、デザインアセットと開発環境をリアルタイムに接続することで、デザイナーと開発者の間でのコミュニケーションとコラボレーションをスムーズにする機能を提供している。デザイナーはFigmaでUIコンポーネントや画面を作成し、Dev Modeを使用して開発者と

                              FigmaのデザインをReact Nativeにエクスポートする方法
                            • Next.js と TypeScript で、React のライフサイクルの仕組みを理解する - コムテブログ

                              React のライフサイクルとは? React のライフサイクルとは、React コンポーネントが生成され、更新され、最終的に破棄されるまでの流れを表す考え方です。この流れを理解することで、React コンポーネントがどのように動作するのか、いつどのような処理を書くべきなのかがわかります。 React のライフサイクルは大きく分けて以下の 3 つのフェーズに分類されます。 マウントフェーズ(Mounting):コンポーネントが DOM に挿入されるフェーズ 更新フェーズ(Updating):コンポーネントが再レンダリングされるフェーズ アンマウントフェーズ(Unmounting):コンポーネントが DOM から削除されるフェーズ それぞれのフェーズで特定のライフサイクルメソッドが呼び出されます。以下に基本的なソースコードを示します。 type Props = { message: stri

                              • ReactからRailsにFormDataを送信してファイルをアップロードする - Qiita

                                初投稿になります。よろしくお願いします。 この記事の目的 React、Rails間でのファイルアップロードに手こずったので同じ悩みを抱えている人のため記事を書くことにしました。 axiosを用いてReactからrailsに画像データを含むFormDataを送信し、rails側で保存した画像ファイルをReact側で参照できるようになることが目的です。 今回は、タイトルと本のラベル(画像)を登録し、idを入力するとデータが参照できるといった簡単なアプリケーションを作成していきます。 機能の実装に集中して解説をしたいので、スタイルはあまり当てません。 開発環境について 自分のOSはwindowです。 検証はしていないですが、windows以外でも差し支えないと思われます。 プロジェクトの作成 プロジェクトの作成については、rials newとcreate-react-appでパパっと済ませました

                                  ReactからRailsにFormDataを送信してファイルをアップロードする - Qiita
                                • 【React/Tailwind】YouTube動画を埋め込むためのコンポーネントを作ってみる(レスポンシブ) - Qiita

                                  概要 ReactでYouTube動画を埋め込むためのカスタムコンポーネントを作成してみました。スタイリングには、Tailwind CSSを使用し、レスポンシブに対応させました。 コンポーネントの機能 YouTube動画の埋め込み タイトルの表示 カスタムスタイリング(Tailwind CSSを採用し、レスポンシブに対応) 動画情報のURLまたは動画IDの両方に対応 対応している動画のURL形式について https://www.youtube.com/watch?v=VIDEO_ID 標準形式のURL https://youtu.be/VIDEO_ID 短縮URL https://www.youtube.com/embed/VIDEO_ID 埋め込みプレーヤーのURL

                                    【React/Tailwind】YouTube動画を埋め込むためのコンポーネントを作ってみる(レスポンシブ) - Qiita
                                  • React 19であまり語られない改善の一つ、useIsomorphicLayoutEffectって聞いたことありますか

                                    みなさん、React 19を心待ちにしてますか。新しい機能は目立って紹介されるものの、地味な改善もいっぱいあります。もう1年以上前の話になりますが、これ。 useIsomorphicLayoutEffectというのはReduxが流行らせた、ライブラリ開発者が使うハックです。多くの人がコピペして使ってますが、単にSSRでのワーニング回避だけのためのものでした。このワーニングがなくなったので、この不思議なハックは今後不要になりました。(古いバージョンをサポートする場合は残したくなるかもしれませんが、新しいバージョンで消えるものであるという事実は大きい) あれ、これってもうReact 18.3に入っているのでしょうか。どなたか試した人がいらしたら教えてください。

                                      React 19であまり語られない改善の一つ、useIsomorphicLayoutEffectって聞いたことありますか
                                    • React Native(Expo)とFirebaseでカップル向けアプリを作った

                                      この記事の背景と目的 最近、業務で「社内のPOと一緒に二ヶ月間でMVPとなるアプリを一つ作ってリリースする」という貴重な機会があった。 実際の開発は自分一人だったため、使ってみたい技術を自由に試してみることができ、非エンジニア職からの出戻りの自分にとっては学べることがとても多かった この記事では技術選定や設計の際に考えたことや、実際やってみての感想や気づき、反省点の備忘録として投稿する 作ったもの 「OurTime」というカップル(夫婦)向けエンゲージメントアプリを作成 パートナーと二人でアプリを利用し、アンケートや日々の日記を投稿することで、アプリの方から二人の話し合いを促してくれて、二人の繋がりをより強くするというコンセプト 詳しくはLPを参照 リリースは現状iOSのみ iPhone持っている人はぜひDLお願いします!→ストアリンク 使った技術について 技術スタック React Nat

                                        React Native(Expo)とFirebaseでカップル向けアプリを作った
                                      • [React] Create React App(CRA)を使用したReactプロジェクトのフォルダ構成 - Qiita

                                        目次(生成されるファイル) node_modules public src gitignor package.json README.md package-lock.json node_modules プロジェクトで使用されるすべての依存パッケージが格納されます。 public 公開用の静的ファイルが格納されます。 index.html: アプリケーションのルートHTMLファイルです。このファイルにReactコンポーネントがレンダリングされます。 src 開発者が実際にコーディングするファイルが格納されます。 index.js: アプリケーションのエントリーポイントです。ReactDOMを使ってReactコンポーネントをDOMにレンダリングします。 index.css: アプリケーション全体のスタイルシートです。 App.js: メインのReactコンポーネントです。アプリケーションの基本

                                          [React] Create React App(CRA)を使用したReactプロジェクトのフォルダ構成 - Qiita
                                        • Reactのhooksについてちゃんと理解する Effect・パフォーマンス・その他編 - Qiita

                                          はじめに こちらの記事の続きです Effectフック Effectを利用することでコンポーネントを外部システムに接続し、同期させることができます。 Effectはレンダー自体によって引き起こされる副作用を指定するためのもので、外部システムとの接続がなければ特に利用する必要がありません。 公式にもそのエフェクトは不要かもというドキュメントがあったりします。 Effectは以下のような手順で行われます。 Effectを宣言する コンポーネントがレンダーされるたびにReactは画面を更新し、そのあとでuseEffect内のコードを実行する 依存値の配列を指定する 依存配列がない場合毎回のレンダー後に実行され、依存配列が空([])の場合マウント時のみ実行される 必要に応じてクリーンアップを追加する 指定したすべての依存値が前回のレンダー時と全く同じ場合はエフェクトの再実行をスキップします。 use

                                            Reactのhooksについてちゃんと理解する Effect・パフォーマンス・その他編 - Qiita
                                          • はじめに|【2024年】React, TypeScript, Tailwind CSSでTodoアプリを作ろう

                                              はじめに|【2024年】React, TypeScript, Tailwind CSSでTodoアプリを作ろう
                                            • 【AWS】amplifyでreactアプリをデプロイしたが404エラー - Qiita

                                              git add . git commit -m "コメント" git push origin main AWSコンソールからamplifyを開いてgithubからデプロイ その際のamplify.yml version: 1 frontend: phases: preBuild: commands: - cd amplifyapp - npm ci build: commands: - npm run build artifacts: baseDirectory: build files: - '**/*' cache: paths: - node_modules/**/*

                                                【AWS】amplifyでreactアプリをデプロイしたが404エラー - Qiita
                                              • CDN版のReactを使ってWebsocketのチャットクライアントを実装してみました - Qiita

                                                はじめに 【欲望】 (1)インストール作業は極力したくない PC内で使うモジュールをガチガチにして重たくしたくない (2)オフラインでも動くようにしたい ブラウザへのドラッグ&ドロップで使いたい (つまりはWebサーバーレスでも使える) (つまりはfileプロトコルでも使える) という願いを叶えられたら幸せだよねー。 そういう思いから以下のルールを決めました。 【ルール】 (1)CDN版を利用する インストール回避のため (2)CGIは使わない Webサーバー回避のため 【ルール】の(1)に関しては、そのままだとオンラインでしか使えなくなるのでダウンロードしたモジュールを使います。 また、アクセス先のファイルが変更される事で発生する不具合の影響を小さくできるというメリットもあります。 事前準備 CDN版のファイルを以下のようなコマンドを使ってあらかじめダウンロードしておきます。 > wge

                                                  CDN版のReactを使ってWebsocketのチャットクライアントを実装してみました - Qiita
                                                • 堕天使っていいよね…。アルカナディアのルミティアが堕天使に!?「ルミティア ReACT-A」のレビュー - プラモデルを推すブログ byユネプラ

                                                  株式会社コトブキヤの新シリーズ「アルカナディア」から登場した「ルミティア ReACT-A」は、「ルミティア」が堕天したかのようなカラーリング。新規描きおろしの表情パーツが魅力のプラモデル。この記事では、その特徴と魅力を詳しくレビューします。 「アルカナディア ルミティア ReACT-A」とはどのようなキャラクター? 「アルカナディア」とはどのようなブランド? イラストレーターの「necomi」氏とは? 「アルカナディア ルミティア ReACT-A」の価格・発売月・スケール・製品サイズ 「アルカナディア ルミティア ReACT-A」のノーマルモード 「アルカナディア ルミティア ReACT-A」のウィライズモード 「アルカナディア ルミティア ReACT-A」の表情パーツ 「アルカナディア ルミティア ReACT-A」の大型の翼 「アルカナディア ルミティア ReACT-A」の専用武器 「ア

                                                    堕天使っていいよね…。アルカナディアのルミティアが堕天使に!?「ルミティア ReACT-A」のレビュー - プラモデルを推すブログ byユネプラ
                                                  • コピペで使えるTailwind.cssとReactによるアニメーション、エフェクト、インタラクションのコレクション・「Animata」

                                                    Animata Animataはコピペで使えるTailwind.cssとReactによるアニメーション、エフェクト、インタラクションのコレクションです。タイトル通りで、既存のReactアプリ等にコピペでアニメーションコンテンツを追加可能なコンポーネントを手作業でコレクション化したそうです。 いわゆるUIライブラリの類ではなく、既存のプロジェクトにアニメーション要素を加えるスパイス的な役割となっています。尚、基本的にはTailwindベースですが、細かなスタイルは利用者の采配に任せているそうで特に完成度が高かったりスタイルに一貫性があるようなものではありません。 用意されているのは背景や弁当グリッド、ボタン、カード、ナビゲーション、チャートなどで今のところ40程度のコンポーネントが集められています。Reactアプリにエフェクト等を追加する際はご利用になってみては如何でしょうか。ライセンスはM

                                                      コピペで使えるTailwind.cssとReactによるアニメーション、エフェクト、インタラクションのコレクション・「Animata」
                                                    • state はスナップショットである – React

                                                      state 変数は、読んだり書いたりできる普通の JavaScript の変数のように見えるかもしれません。しかし、state はむしろ、スナップショットのように振る舞います。state をセットしても、既にある state 変数は変更されず、代わりに再レンダーがトリガされます。 このページで学ぶこと state のセットが再レンダーをどのようにトリガするのか state がいつどのように更新されるか state がセットされた直後に更新されない理由 イベントハンドラが state の「スナップショット」にどのようにアクセスするのか state のセットでレンダーがトリガされる ユーザインターフェースとはクリックなどのユーザイベントに直接反応して更新されるものだ、と考えているかもしれません。React の動作は、このような考え方とは少し異なります。前のページで、state をセットすること

                                                        state はスナップショットである – React
                                                      • ReactとViteでMPAを構築してAmazon S3で公開する方法 - Qiita

                                                        はじめに こんにちは、もちもちMAXです。 今回はReactでMPAを作成し、Amazon S3で公開する手順について解説していきたいと思います。 reactでビルドしたけど、エントリーポイント1個しかないぞ? MPAをAmazon S3で公開ってどうやるの? という人は見て頂ければと思います。 React環境構築 ReactでMPAを作成するので、まずはReact環境を構築していきます。 有名どころではcreate-react-appコマンドがありますがこのコマンドで環境構築した場合、デフォルトでwebpackというビルドツールが使用されます。しかし、今回はviteというビルドツールを使いますのでnpm create viteコマンドで環境を作成していきます。 まず、適当なディレクトリで下記コマンドを実行します。

                                                          ReactとViteでMPAを構築してAmazon S3で公開する方法 - Qiita
                                                        • 【React入門】押さえておきたいJavaScriptの記法10選|TERUPRO

                                                          // 従来の書き方 function func(num) { return num + 1; } console.log(func(1)); // アロー関数 const arrowFunc1 = (num) => { return num + 1; }; console.log(arrowFunc1(1)); // 処理が1行の場合は以下のように省略できる const arrowFunc2 = (num) => num + 1; console.log(arrowFunc2(1));

                                                            【React入門】押さえておきたいJavaScriptの記法10選|TERUPRO
                                                          • React入門1.5: 環境構築 [ローカル版-番外編] - Qiita

                                                            はじめに 私自身の復習兼、備忘録的な意味もあり、複数回の記事に渡って React に関する記事をまとめていきたいと思います。 本記事の目的 今回は番外編として、ローカル環境での React アプリ開発の環境構築をしていきます。 シリーズの一覧 React入門1: 環境構築 [オンライン版] React入門1.5: 環境構築 [ローカル版-番外編] (今回) React入門2: 盤面の作成 React入門3: インタラクションの実装 React入門4: リファクタリング [リフトアップ編] React入門5: リファクタリング [インタラクション編] React入門6: 手番の実装 React入門7: ゲームの勝利判定 React入門8: テキストの実装 環境構築 オンラインエディタ CodeSandbox を使った方法はコチラから 今回は、ローカル環境で React のプロジェクトを作成す

                                                              React入門1.5: 環境構築 [ローカル版-番外編] - Qiita
                                                            • useDeferredValue – React

                                                              さらに例を見る 引数 value: 遅延させたい値。任意の型を持つことができます。 返り値 初回レンダー時には、返される値はあなたが渡した値と同一になります。更新時には、React はまず古い値で再レンダーを試み(つまり返り値は古い値になり)、次に新しい値でバックグラウンドで再レンダーを試みます(返り値は更新後の値になります)。 注意点 useDeferredValue に渡す値は、プリミティブな値(文字列や数値など)またはレンダーの外部で作成されたオブジェクトであるべきです。レンダー中に新しいオブジェクトを作成してすぐにそれを useDeferredValue に渡すと、それは毎回のレンダーで異なるものとなるため、不必要なバックグラウンドでの再レンダーを引き起こします。 useDeferredValue が(Object.is で比較して)異なる値を受け取ると、(前回の値を使用する)現在

                                                                useDeferredValue – React
                                                              • Reactの要素作成処理を壊しながら内部的に見よう - Qiita

                                                                この記事は株式会社ビットキー Advent Calendar 2023、13日目の記事です。 はじめに こんにちは!株式会社ビットキーにてSETとして活動している川又と申します。Qiitaの執筆は今回が初めてです! ビットキーではサービス開発においてReactを活用しております。 私も該当しますが、現在Reactを扱っているけど、Reactのコードベースを触れたことがない方・見たことがない方がいらっしゃいましたら、是非今回を機にハンズオンで一緒に内部実装を見ていきましょう。 まずはReactのリポジトリをローカルにcloneします。 git clone https://github.com/facebook/react.git yarn install git checkout main #最新バージョンのReactに向けます

                                                                  Reactの要素作成処理を壊しながら内部的に見よう - Qiita
                                                                • React入門7: ゲームの勝利判定 - Qiita

                                                                  はじめに 私自身の復習兼、備忘録的な意味もあり、複数回の記事に渡って React を用いてマルバツゲーム(三目並べ)を開発していきたいと思います。 React CodeSandbox(公式) CodeSandbox(非公式) シリーズの一覧 React入門1: 環境構築 [オンライン版] React入門1.5: 環境構築 [ローカル版-番外編] React入門2: 盤面の作成 React入門3: インタラクションの実装 React入門4: リファクタリング [リフトアップ編] React入門5: リファクタリング [インタラクション編] React入門6: 手番の実装 React入門7: ゲームの勝利判定 (今回) React入門8: テキストの実装 React入門9: タイムトラベル(1) React入門10: タイムトラベル(2) React入門11: タイムトラベル(3) 目的につい

                                                                    React入門7: ゲームの勝利判定 - Qiita
                                                                  • アコーディオンコンポーネントをReactで自作する

                                                                    こんにちは!CastingONE の岡本です。 はじめに 弊社のフロントエンド開発は Vue.js を使用していますが、React に移行しようとしています。わたしは React 未経験なので日々勉強しています。React 力を高めるためにコンポーネントを自作することを考えましたが、丁度Vue.js で自作アコーディオンを作成する記事がありましたので、それの React 版を作ってみました。 今回学んだ機能 このコンポーネント作成を通じて学んだ機能を紹介します。 useRef Vue.js だとテンプレート内の要素を DOM として操作したい場合にはref属性を指定することで、script 内で$refsの中で DOM を呼び出すことができました。 React だとuseRefというフックを使って、currentキーを指定することでで DOM を参照することができます。 export co

                                                                      アコーディオンコンポーネントをReactで自作する
                                                                    • React でコンポーネントの Props の型を取得する

                                                                      プリミティブな UI を構築するとき、button や input などの HTML 要素をラップしたコンポーネントを作成することがあります。このようなコンポーネントでは、HTML 要素の Props に加えて、コンポーネント固有の Props を定義することが多いです。 HTML 要素の Props は必要なものだけを定義してもよいのですが、React.ComponentPropsWithoutRef を使ってすべての Props を定義しておくと便利です。 type Props = { // これはコンポーネント固有の Props variant?: "primary" | "secondary"; } & React.ComponentPropsWithoutRef<"button">; React.ComponentPropsWithoutRef は button や input

                                                                        React でコンポーネントの Props の型を取得する
                                                                      • zod + react-hook-form + TypeScriptでつくるフォームのナレッジ3選 - Qiita

                                                                        この記事はGoodpatch Advent Calendar 2023、9日目の記事です。 こんにちは!Goodpatchでエンジニアをしているとうようです。 今回は直近のWebフロントエンドの技術剪定だと選ばれがちなzodとreact-hook-formで複雑なフォームを実装しようとなった時に役立つナレッジ3つをご紹介しようと思います。 軽すぎずかつ重すぎない、絶妙なボリュームのナレッジなので逆引きに使うでも一気に読み切るでも、自分にあったスタイルで読んでいただければ幸いです。 ナレッジ①:zodで条件分岐フォームを作る 一つ目はzodを使って条件分岐するようなフォームのスキーマを作る方法です。例えば以下のようなフォームを考えます。 実際このような仕組みにできるかは一旦おいておき、たとえばマイナンバーカードの有無によって個人情報の入力を省略できるかどうかが変わるフォームがあるとします。

                                                                          zod + react-hook-form + TypeScriptでつくるフォームのナレッジ3選 - Qiita
                                                                        • ReactでGoogle認証 | Sustenage

                                                                          本記事の内容​本記事はReactでユーザのGoogleアカウントでGoogleにログインする方法をご紹介します。 Googleにログインすると、例えば以下のことが出来るようになります。 Google APIを使ってユーザーの情報を取得できるようになる。本人確認ができるため自前の認証の仕組みを実装しなくてよくなる。 (注1)今回はGoogleにログインし、その認証情報を使ってユーザの基本的な情報をGoole APIで取得するまでをご紹介します。

                                                                          • 【React】入れ子コンポーネントのuseEffect実行順序を調べた

                                                                            経緯 ある日、最上位付近のコンポーネントで横断的なデータを設定するためにuseEffectを使用していました。 そんな折、末端付近のコンポーネントのuseEffectで設定したデータを参照したところ、データが設定されていないと怒られましたとさ。 useEffectの実行順序(Renderもおまけで) 赤●スタート Order Render/Mount-useEffect/Unmount-useEffect コードで確認 おわりに マウント時のuseEffectの実行順序はRenderの順序と異なり、クセがあるので気を付けないとですね。

                                                                              【React】入れ子コンポーネントのuseEffect実行順序を調べた
                                                                            • 【Reactの型定義】FCとJSX.Elementどっち使えば良い?

                                                                              Reactのコンポーネントの型定義をするときにFunctionComponent(以降FC)だったり、VFCだったり、JSX.Elementだったり何を使えば良いのか、ネット記事では意見がバラバラだったので筆者なりに結論を出してみました。 間違っている箇所があればコメントへ🙏

                                                                                【Reactの型定義】FCとJSX.Elementどっち使えば良い?
                                                                              • 何故くそややこしいReactを勉強しないといけないのか? - Qiita

                                                                                逃げるプログラマー、避けられない壁 Web系アプリケーション開発をするとなると、React, Angular, Vueといったフレームワークの話題は避けて通れないのだけど、面倒にかまけてみて見ぬふりをしているデヴェロッパー諸君は多いと思う。 自分もそういうダメグラマーの一人でした。 だが、Nodeベースでバックエンドを開発していると、どうしてもフロント側が必要だし、使いたいライブラリーや機能、操作性を組み込むためには、フロント側のフレームワークからは逃げられず、立派なフルスタックデベロッパーになる為に、重いけつを上げ、学習することにしたのであります。 React, Angular, Vueの3大フレームワークをざっと調べてみた際に、一番取っつきやすそうだったReactをチョイス。 しょせんはHTMLとCSSとJavascript で、結局Reactは何をやっているかというと、しょせんはHT

                                                                                  何故くそややこしいReactを勉強しないといけないのか? - Qiita
                                                                                • Reactコンポーネントを作成してライブラリ化する方法を解説した書籍が発売/技術の泉シリーズ、2月の新刊『実践Reactコンポーネントライブラリ開発』【Book Watch/ニュース】

                                                                                    Reactコンポーネントを作成してライブラリ化する方法を解説した書籍が発売/技術の泉シリーズ、2月の新刊『実践Reactコンポーネントライブラリ開発』【Book Watch/ニュース】