React

新着順 人気順

Signalsが注目されるフロントエンド技術的背景

Signalsが急に話題になったのはなぜか Reactの仕組みが持つ構造的コスト Signalsの基本的な考え方 なぜこれが重要なのか 依存関係追跡という仕組み Virtual DOMとの違い なぜ今になって必要になったのか 注意点:万能ではない フロントエンドの流れの中での…

Virtual DOMはDOM操作の何を解決したのか

Virtual DOMは「速いDOM」ではない DOM操作はなぜ重いのか jQuery時代に起きていた問題 Virtual DOMの発想 なぜ差分検出が効くのか 「再レンダリング=遅い」という誤解 なぜ手動最適化では解決できなかったのか パフォーマンスの本当の効果 注意点:Virtual…

フロントエンド進化はレンダリング最適化の歴史

フロントエンドの進化はUIの進化ではない ブラウザはどうやって画面を描いているのか jQuery時代の問題:reflow地獄 Virtual DOMの本当の役割 なぜSPAは重くなるのか SSRが速い理由 Hydrationという新しい問題 RSCが狙っているもの CSSの進化も同じ文脈 実務…

jQuery→SPA→SSR→RSC移行のボトルネック

フロントエンドは流行ではなく「ボトルネック移動」で変化している jQueryが解決した問題:ブラウザ差異 次のボトルネック:状態管理の崩壊 SPAが解決した問題:状態管理 SPAのボトルネック:初回表示 SSRが解決した問題:描画位置 SSRのボトルネック:不要…

フロントエンドでフレームワークが毎年変わる理由

フロントエンドのフレームワークが「毎年変わる」と感じる理由 そもそもフロントエンドの役割が変わり続けている jQueryが最適だった時代 次の問題:画面が壊れる SPAフレームワークが登場した理由 さらに新しい問題:表示が遅い SSRが流行した本当の理由 そ…

SSRで状態を引き渡すDehydrationの正体

SSRのDehydrationは「HTMLを渡す技術」ではなく「状態を渡す技術」です Hydrationの前に必ず存在するDehydration Hydrationとは何をしている処理なのか なぜそれだけでは動かないのか Dehydrationの仕組み サーバはHTMLと一緒に「状態」を送っている Hydrati…

Hydration mismatchが起きる本当の理由

SSRで起きるHydration mismatchとは何か まずHydrationの前提を確認する mismatchはなぜ起きるのか 代表的な原因:時刻 乱数も危険 環境依存値 非同期データ mismatchが起きると何が起きるか なぜ開発環境では起きにくいのか 対策の基本方針 1. 時刻を描画し…

SPAのHydrationとは何をしているのか

SPAにおけるHydrationの正体 まず前提:SPAは本来DOMを自分で作る SSRでは最初からHTMLが存在する Hydrationが必要になる理由 Hydrationで内部的に起きていること なぜHydrationが重いのか Hydrationが終わるまで何が起きるか よくある誤解 注意点 開発で気…

ReactのuseEffectで迷う本当の理由と正しい考え方

結論:useEffectで迷う原因は「ライフサイクル思考」と「依存配列の誤解」 Reactを学び始めてしばらくすると、多くの人が同じ壁にぶつかります。 それがuseEffectの使い方がよく分からない問題です。 動いてはいるが、なぜ動くのか説明できない ESLintに言わ…

ReactにBootstrapを導入

ReactにBootstrapを導入 1. Bootstrapのインストール 2. BootstrapのCSSをインポート 3. Bootstrapのコンポーネントを使用する 4. React-Bootstrapの使用 (オプション) まとめ ReactにBootstrapを導入 ReactアプリケーションにBootstrapを導入する方法につい…

Next.jsでwindow is not definedというエラーが発生する場合の対処方法

Next.jsでwindow is not definedというエラーが発生する場合の対処方法 1. クライアントサイドでのみコードを実行する 2. ダイナミックインポートを使用する 3. useEffectを利用する 4. カスタムフックを使用する 5. サーバーサイドレンダリングを明示的に無…

NextのclassNameにハイフン付きのクラス名を設定する方法

NextのclassNameにハイフン付きのクラス名を設定する方法 例: ハイフン付きクラス名の設定 注意点 NextのclassNameにハイフン付きのクラス名を設定する方法 Next.jsでハイフン付きのクラス名をclassNameに設定するには、通常の方法で問題なく指定できます。 …

ReactにGoogleAnalyticsのタグを埋め込み

ReactにGoogleAnalyticsのタグを埋め込み ReactにGoogleAnalyticsのタグを埋め込み Google AnalyticsのタグをReactに埋め込むには、react-gaというライブラリを使用するのが一般的です。 以下は、TypeScriptを使用してGoogle Analyticsのタグを埋め込む方法…

Reactで使用するnpxとは

Reactで使用するnpxとは Reactで使用するnpxとは npx は、Node.js パッケージを直接実行するためのコマンドラインツールです。 通常、npx を使うと、グローバルにパッケージをインストールせずに、必要なときにパッケージを一時的に実行することができます。…

Reactでblurイベントの処理を実装

Reactでblurイベントの処理を実装 Reactでblurイベントの処理を実装 Reactでblurイベントを処理する例をTypeScriptで示します。 以下のコードは、入力フィールドがフォーカスを失ったときにblurイベントが発生するシンプルなコンポーネントです。 import Rea…

ReactでChangeイベントの処理を実装

ReactでChangeイベントの処理を実装 例: フォーム入力の処理 説明 ReactでChangeイベントの処理を実装 Reactでのchangeイベントの処理をTypeScriptを使って実装する方法を以下に示します。 例: フォーム入力の処理 この例では、ユーザーが入力フィールドにテ…

ReactでSubmit処理を実装

ReactでSubmit処理を実装 ReactでSubmit処理を実装 ReactでのフォームのSubmit処理を実装するTypeScriptの例を示します。 以下の例では、ユーザーの入力を処理し、Submitボタンをクリックしたときにデータをコンソールに表示する基本的なフォームを作成しま…

ReactでRemixを導入して実装

ReactのRemixとは remixの実装例 1. アプリケーションのセットアップ 2. app/routes/index.tsx 3. app/routes/about.tsx 4. app/routes/users.tsx ReactのRemixとは ReactのRemixは、フロントエンドフレームワークであるReactと組み合わせて使用するウェブア…

ReactでWebWorkerを導入

ReactのWebWorkerとは WebWorkerの基本概念 WebWorkerの使用例 メリット 注意点 ReactでWebWorkerを導入 WebWorkerの設定 WebWorkerをReactコンポーネントで使用する 必要な設定 ReactのWebWorkerとは ReactのWebWorkerは、バックグラウンドスレッドで処理を…

Reactでyupを導入してフォームバリデーションを実装

Reactでyupを導入 必要なパッケージのインストール TypeScriptでの使用例 Reactでyupを導入 Yupは、ReactとTypeScriptでフォームバリデーションを簡単に実装するために非常に便利なライブラリです。 以下に、Yupを使用した基本的なバリデーションの例を示し…

Reactでクリックイベントを実装する方法

Reactでクリックイベントを実装する方法 詳細説明 引数があるパターン 詳細説明 Reactでクリックイベントを実装する方法 Reactでクリックイベントを実装する方法をTypeScriptで説明します。 以下は簡単なクリックイベントハンドラを持つコンポーネントの例で…

Reactでセレクトボックスの処理を実装する方法

Reactでセレクトボックスの処理を実装する方法 説明 Reactでセレクトボックスの処理を実装する方法 Reactでセレクトボックスの処理を実装する方法の例を以下に示します。 この例では、TypeScriptを使用してセレクトボックスの選択変更時にイベントを処理しま…

Reactでソフトウェアキーボードのイベントを実装する方法

Reactでソフトウェアキーボードのイベントを実装する方法 Reactでソフトウェアキーボードのイベントを実装する方法 Reactでソフトウェアキーボードのイベントを実装するためには、主に以下のポイントに焦点を当てる必要があります:1. キーボードの入力をキ…

Reactでダイアログを表示する方法

Reactでダイアログを表示する方法 Reactでダイアログを表示する方法 Reactでダイアログを表示する方法について、TypeScriptを使用した例を紹介します。 ここでは、Reactの標準的な機能のみを使用して実装しますので、追加のライブラリは不要です。 import Re…

ReactでsetTimeoutのタイマー処理を実装する方法

ReactでsetTimeoutのタイマー処理を実装する方法 setTimeoutを使ったタイマー処理の実装例 説明 ReactでsetTimeoutのタイマー処理を実装する方法 ReactでsetTimeoutを使用してタイマー処理を行うには、次のように実装できます。 以下に、TypeScriptでの例を…

Reactでツールチップを表示する方法

Reactでツールチップを表示する方法 手順 ソースコード例 Reactでツールチップを表示する方法 Reactでツールチップを表示する方法として、react-tooltipライブラリを使用する方法を紹介します。 このライブラリを使用すると、簡単にツールチップを実装できま…

Reactでクエリパラメータの値を取得する方法

Reactでクエリパラメータの値を取得する方法 ライブラリのインストール コード例 Reactでクエリパラメータの値を取得する方法 Reactでクエリパラメータの値を取得するには、react-router-domを使用するのが一般的です。 以下はTypeScriptを使用してクエリパ…

Reactでパンくずリストを実装する方法

Reactでパンくずリストを実装する方法 説明 Reactでパンくずリストを実装する方法 Reactでパンくずリストを実装する方法をTypeScriptを使って紹介します。 import React from 'react'; import { useLocation, Link } from 'react-router-dom'; interface Bre…

Reactでプルダウンの処理を実装する方法

Reactでプルダウンの処理を実装する方法 プルダウンメニューの実装 説明 Reactでプルダウンの処理を実装する方法 Reactでプルダウンメニューを実装する基本的な方法をご紹介します。 今回は、TypeScriptを使用して実装します。 特別なライブラリは不要なので…

ReactでQRコードの生成を行う方法

ReactでQRコードの生成を行う方法 ReactでQRコードの生成を行う方法 ReactでQRコードを生成するには、qrcode.reactというライブラリを使うのが便利です。まず、ライブラリをインストールする必要があります。 以下のコマンドを使用してください。 npm instal…