並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 560件

新着順 人気順

Reactの検索結果281 - 320 件 / 560件

  • Tiptapでオリジナルエディタをつくろう!

    こんにちは!テラーノベルでiOS/Android/Webとフロントエンド周りを担当している @kazutoyoです! 今回はHeadless Editor FrameworkであるTiptapのご紹介と、そちらを使ってオリジナルなエディタを作成しようと思います。 Tiptapとは TiptapはHeadless Editor Frameworkと呼ばれています。 これまでWebでのWYSIWYGエディタとしてQuill.jsやDraft.jsなどが存在しました。 これらは文字の装飾や文章の編集に関するUIをデフォルトで提供しており、エディタに特別な機能を追加しようとしたり、UIを大きく変えるというのは少々大変でした。 TiptapのようなHeadless Editor Frameworkは、エディタで必要な機能のコア機能を提供し、必要なUIや機能は拡張機能として追加できるような仕組みになっ

      Tiptapでオリジナルエディタをつくろう!
    • GitHub - react-hookz/web: React hooks done right, for browser and SSR.

      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 - react-hookz/web: React hooks done right, for browser and SSR.
      • 巨大なテーブルコンポーネントを仮想スクロール化してブラウザのメモリ使用量を1/10にした話

        この記事は毎週必ず記事がでるテックブログLoglass Tech Blog Sprintの17 週目の記事です。 1 年間連続達成まで残り 36 週となりました! はじめに こんにちは!株式会社ログラスでエンジニアをしているd4te74です 🍷 ログラスではレポートと呼ばれる経営データ分析のための機能領域を改善するチームに所属しています。 この記事では、最近取り組んでいたレポート機能のフロントエンドのパフォーマンスチューニングとして行った「巨大なテーブルコンポーネントの仮想スクロール化」について書いていこうと思います。 ※ Loglass は事業の予実を管理するサービスです。 レポート機能とは レポート機能とは、Loglass 内に統合された部署や勘定科目などの経営データに対し集計・分析が行える機能で、ユーザー自身がそれらを自由度高く表形式に組み立てて、表示できるというものです。 以下の

          巨大なテーブルコンポーネントを仮想スクロール化してブラウザのメモリ使用量を1/10にした話
        • プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話

          CIUでは、プライベートクラウドのWeb UI開発にNext.jsを用いています。 今回はCIUのフロントエンド組織の現状についてお話した後 ・なぜNext.jsを使うのか ・古いNext.js製サービスをどのようにApp Router化したのか 以上を中心に、CIUのフロントエンド組織の今後の技術戦略などについて、Muddyな内容を織り交ぜながらお話します。

            プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話
          • React Server Components で複雑さに立ち向かう #コンポーネント_findy / findy 2023-10-04

            コンポーネント設計のすゝめ 〜ベストプラクティスを学ぶLunch LT〜 - connpass https://findy.connpass.com/event/296449/

              React Server Components で複雑さに立ち向かう #コンポーネント_findy / findy 2023-10-04
            • フロントエンドのディレクトリ構成を整理してコードの凝集度を高める

              こんにちは、atama plus というスタートアップで web エンジニアをしている yubon です。 atama plus Advent Calendar 2023 の 7 日目になります。 本記事では、atama plus で実際に開発・運用している React プロジェクトにおいて、機能的な凝集度を高めるために行ったディレクトリ構成の再設計について紹介します。 フロントエンドのディレクトリ構成に関する考え方や設計思想は多くの記事で紹介されていますが、「業務で開発しているプロジェクトのコードで、ペインがある状態から再設計して実際に移行した」というケーススタディ的な記事は少なそうだったので、書き残しておこうと思います。

                フロントエンドのディレクトリ構成を整理してコードの凝集度を高める
              • 図からプログラムを自動生成してくれるmakereal ( tldraw )について

                まずは下記のツイートをご覧ください。 すごい便利そうですよね。これで紹介されてた機能を実際に使ってみたので紹介します。 登場人物の紹介 tldraw と draw-a-ui と makereal.tldraw.com の整理を先にしておきます。 tldraw tldraw そのものにこの機能はありません。 tldrawはホワイトボードを作成するためのReactライブラリです。 下記がサンプルです。 miro ライクなホワイトボードを少ないコードで実装できます。 draw-a-ui tldraw と gpt-4-vision api を使って、描いたワイヤーフレームを元にhtmlを生成するアプリが draw-a-ui です。 git cloneして下記コマンドで簡単にローカルで試すことができます。 makereal.tldraw.com makereal.tldraw.com は draw-

                  図からプログラムを自動生成してくれるmakereal ( tldraw )について
                • Next.jsでTrello風タスク管理アプリを作成する日記⑤ - Qiita

                  はじめに 前回までにドラック&ドロップでタスクの進捗状態を変更する機能が実装できました。 今回はそれに加え完了したタスクを削除する機能、モーダルでタスクの内容を変更する機能を実装しました。 今回実装できた内容 Redux toolkitを導入してグローバルな状態管理ができるようになった 新しい機能実装に対応できるディレクトリ構成を検討できた Material UIを導入してModalを実装できた onDragとonClickイベントを持つDOM要素のイベントを制御できた 前回までのあらすじ 今までの内容 Next.jsでTODOアプリを作成する日記① Tailwindを導入できた ComponentにPropsを渡せた Componentの中でPropsを使用できた Componentをループを使って表示できた React Iconsを導入できた Next.jsでTODOアプリを作成する日

                    Next.jsでTrello風タスク管理アプリを作成する日記⑤ - Qiita
                  • Next as Frontend + Hono as BFF という組み合わせの提案

                    introduction HonoにはRPCの機能があり、routerで定義している情報(引数とか型とか)を他のファイルで簡単に利用することができます。 この記事では、そのRPCの機能とNextを組み合わせて、HonoをNextのBFFとして使用する組み合わせについて紹介していきたいと思います。 まず、今回作成した2つのサンプルのリポジトリを紹介します。 以下の2つのリポジトリのコードを用いて説明するので、もし興味があればクローンして色々試してみて下さい。 next-hono-webはshadcn/uiのコンポーネントをお借りして作成したサンプルのダッシュボードに対して、一部の値を動的に設定するよう変更を加えたものです。 next-hono-backendはとてもシンプルで、next-hono-webで使用するサンプルデータを返すよう定義されています。 next-hono-backend側

                      Next as Frontend + Hono as BFF という組み合わせの提案
                    • Nue: The content-first web framework

                      A content-first Web framework Nue is a closer-to-metal framework embracing minimalism and web standards. It's structurally clean and stupidly fast. Get started Product roadmap Content-first: Build entire sites without ever leaving your content Vision The ultimate goal of Nue is to build a perfect web framework, which is ridiculously fast and easy to use. Nue JS Server-side templating and reactive

                        Nue: The content-first web framework
                      • PR TIMESのトップページをNext.jsにリプレイスしました | PR TIMES 開発者ブログ

                        こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 プレスリリース掲載ページ、キーワード検索ページに続き、PR TIMESのトップページを PHP + Smarty + jQuery から Next.js(Pages Router)にリプレイスしました。

                          PR TIMESのトップページをNext.jsにリプレイスしました | PR TIMES 開発者ブログ
                        • Reactテスト駆動開発に一度挫折した人が、生成AIの力を借りて再挑戦する話 - Insight Edge Tech Blog

                          はじめに Insight EdgeのLead Engineerの日下です。 弊社ではフロントエンドのスクラッチ開発にReactを採用することが多いのですが、フロントエンドの保守性はしばしば課題となっています。 というのも、要求仕様が曖昧なPoC(Proof of Concept)の段階からMVP(Minimum Viable Product)として開発を進めることも多く、 ビジネス側ユーザの意見にも左右されながらアプリを改善していくため、画面のレイアウトやデザイン、画面遷移の変更が多発するためです。 こうした状況の中でスピードと品質を両立するためには良質なテストコードが不可欠なのはもちろん、 プロダクトコードとテストコードの双方とも、変化に対応しやすく作る必要があります。 過去にテスト駆動開発を挫折した要因 実は、筆者は過去にReactのテスト駆動開発の実践、および社内普及活動に挑戦したこ

                            Reactテスト駆動開発に一度挫折した人が、生成AIの力を借りて再挑戦する話 - Insight Edge Tech Blog
                          • HTMX vs React: A Complete Comparison - Semaphore

                            The ultimate goal of HTMX is to provide modern browser interactivity directly within HTML, without the need for JavaScript. Although relatively new, with its initial release in late 2020, this frontend library has quickly caught the attention of the IT web community. With 2nd place in the 2023 JavaScript Rising Stars “Front-end Frameworks” category (right behind React), a spot in the GitHub Accele

                              HTMX vs React: A Complete Comparison - Semaphore
                            • Kind of annoyed at React

                              I’m kind of annoyed at the state of React lately. I still use it regularly, and am somewhat friendly with the folks that work on it still, and it’s the first library I reach for, but… it’s just gotten too confusing and frustrating. Not to boast but I like… really know React. I’ve used it for almost a decade. I’ve seen it morph and grow and used the frameworks that have popped up to work with it, I

                                Kind of annoyed at React
                              • Next.js 14 で導入された React Taint APIs を試してみた

                                Next.js の公式ブログの How to Think About Security in Next.js という記事で Next.js 14 で導入される React Taint APIs について紹介されていました。 この記事では、Next.js 14 で React Taint APIs 実際に試してみて、どのような機能なのかを確認してみたいと思います。 React Taint APIs とは? React Taint APIs とは、React が experimental バージョンで提供する新しいセキュリティ保護機能の一つです。このAPIを使用することで、誤って Client Component にセキュリティ上の重要なデータが渡されることを防げるようになります。 具体的には、以下の2つの API が提供されています。 experimental_taintObjectRefe

                                  Next.js 14 で導入された React Taint APIs を試してみた
                                • UIデザインに最適! シンプルなデザインで使いやすく、商用でも無料で利用できるSVGのアイコン素材 -Lucide

                                  無料で使えるSVGアイコンはたくさんありますが、使い勝手がよいシンプルなデザインで、バリエーションも豊富となるとなかなか見つかりません。 WebサイトやスマホアプリのUIでよく使うアイコンが1,470種類、カラー・サイズ・ストロークの変更もサポートしているSVGアイコン素材を紹介します。 Lucide Lucide -GitHub LucideはFeather IconsのForkで、Featherに対する不満が高まったことによりコミュニティ運営で始まったプロジェクトです。FeatherにはたくさんのIssuesやPRが未解決で放置されており、これらの対応はされていません。 Lucideのアイコンは、元のシンプルなデザイン言語に忠実なまま、可能な限りアイコンセットを拡張しています。ライセンスはISC Licenseで、個人でも商用プロジェクトでも無料で利用できます。

                                    UIデザインに最適! シンプルなデザインで使いやすく、商用でも無料で利用できるSVGのアイコン素材 -Lucide
                                  • 【React】useMediaQuery は最終手段にしよう

                                    こんにちは、エンジニアです。 本記事ではuseMediaQueryを使うべきではない理由を説明します。 useMediaQueryとは window.matchMediaの判定結果を取得するカスタムフックを指します。 window.matchMediaはCSSでできるメディアクエリの判定をJavaScriptでも可能にするブラウザAPIです。それをReact Hooksと組み合わせることで、宣言的に判定を行えるようなカスタムフックとなります。 過去にuseSyncExternalStoreを使って実装する記事を書いたので参考にしてみてください。 上の記事ではuseSyncExternalStoreの使い道を説明するのが目的だったのですが、Reactのフックとしてメディアクエリを使える、使っても良いと捉えられてしまったようで、題材選びを少し反省しています(?) 以下はユーティリティ系ライブラ

                                      【React】useMediaQuery は最終手段にしよう
                                    • 【海外記事紹介】2024年に使うべきJavaScriptライブラリ10選

                                      6月19日、The New Stackに「Top 10 JavaScript Libraries To Use in 2024」と題した記事が公開された。この記事では、2024年に利用すべきJavaScriptライブラリのトップ10について紹介されている。 以下に、その内容を簡潔に紹介する。 React 強力なコンポーネントベースのアーキテクチャにより、複雑なユーザーインターフェースの開発が容易。 仮想DOMの実装により、パフォーマンスが向上。 豊富なエコシステムとコミュニティのサポートがあり、継続的な改善が期待できる。 Redux 予測可能な状態コンテナで、アプリケーションの一貫性を確保。 一方向のデータフローにより、状態管理がシンプルになり、デバッグが容易。 大規模なアプリケーションでのスケーラビリティとメンテナンス性を向上。 D3.js データをDOMにバインドし、データ駆動の変換を

                                        【海外記事紹介】2024年に使うべきJavaScriptライブラリ10選
                                      • 【2024年6月版】フロントエンドアーキテクチャ界隈の必読記事まとめ【TechFeed】

                                        この記事は、<strong><a href="https://techfeed.io/events/techfeed-experts-night-31">TechFeed Experts Night#31 〜 フロントエンドアーキテクチャの現状と未来</a></strong>の開催に際し、TechFeedのデータを元に日本語記事ランキングを紹介していくものです。 本記事は、TechFeed Experts Night#31 〜 フロントエンドアーキテクチャの現状と未来のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 こんにちは、TechFeed CEOの白石です。 この記事は、TechFeed Experts Night#31 〜 フロントエンドアーキテクチャ

                                          【2024年6月版】フロントエンドアーキテクチャ界隈の必読記事まとめ【TechFeed】
                                        • バックエンドエンジニアがフロントエンドの開発をすることになった話 - ドワンゴ教育サービス開発者ブログ

                                          この記事は ドワンゴ Advent Calendar 2023 の 13 日目の記事です。 自己紹介 こんにちは。バックエンドエンジニアのlenです。 現在私は社内で使用する教材入稿ツールを改修するプロジェクトに参画しており、そこではバックエンドの実装に加え、フロントエンドの実装も携わっています。 ここではなぜフロントエンドの実装をすることになったのか、またそこから得られたことなどを紹介していきます。 フロントエンドの開発をすることになったきっかけ 理由は2つあります。 1つはバックエンドセクション内でフルスタックな人材が求められていたことです。 2021年の時はバックエンドセクションとフロントエンドセクションというセクション分割をしており、バックエンドセクション内でサービスごとにグループが分かれているような状態でした。 外部ツールは良いのですが新しい内部ツールや内部サービスについても考え

                                            バックエンドエンジニアがフロントエンドの開発をすることになった話 - ドワンゴ教育サービス開発者ブログ
                                          • App Router でのパンくずやナビメニューの作成に useSelectedLayoutSegments が便利

                                            Leaner Techonologies の @corocn です。 最近 Nuxt.js のアプリを Next.js + App Router に載せ替えたのですが、メニューの描画に useSelectedLayoutSegments が便利だったので軽く紹介します。 実は App Router のドキュメントをちゃんと読んでいくと、Functionsの最後で紹介されています。 何ができる? メニューを描画するときに、現在のページのメニューだけ下線や太字で装飾したいケースがありますよね。このとき普通に実装しようとするとURLからベースとなるパスを除いた上で分割して...など若干面倒です。 useSelectedLayoutSegment(s) を使うと、レイアウトを起点として、URLをいい感じにパースして返してくれるのでスッキリ書くことができます。 単数形(segment)と複数形(se

                                              App Router でのパンくずやナビメニューの作成に useSelectedLayoutSegments が便利
                                            • React Labs: What We've Been Working On – February 2024 – React

                                              In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress. React Conf 2024 is scheduled for May 15–16 in Henderson, Nevada! If you’re interested in attending React Conf in person, you can sign up for the ticket lottery until February 28th. For more info on tickets, free streaming, spon

                                                React Labs: What We've Been Working On – February 2024 – React
                                              • jsx, tsx のシンタックスハイライトにも対応しました。また、JavaScriptのハイライトを改善しました - はてなブログ開発ブログ

                                                はてなブログでは、ソースコードなどを構文(シンタックス)に応じて色付け(ハイライト)表示する シンタックスハイライトに対応しています。今回、シンタックスハイライトに関する改善を行いました。 jsx, tsx形式のシンタックスハイライトの追加 JavaScript形式のシンタックスハイライトの改善 jsx, tsx形式のシンタックスハイライトの追加 jsx 及び tsx 形式に新たに対応しました。 はてな記法、Markdownでのハイライト方法は以下のとおりです。 はてな記法 >|jsx| ...ソースコードを記述する... ||< Markdown ```jsx ...ソースコードを記述する... ```詳しい利用方法やその他の形式の対応につきましては、下記のヘルプをご参照ください。 JavaScript形式のシンタックスハイライトの改善 JavaScriptのシンタックスハイライトの改善

                                                  jsx, tsx のシンタックスハイライトにも対応しました。また、JavaScriptのハイライトを改善しました - はてなブログ開発ブログ
                                                • ますます高度化するWebアプリケーションのフロントエンド開発を支える「React」の可能性──「Web TECH FORUM 2023 Autumn」開催!

                                                  業務システム構築のアプローチとしてWeb技術を選択することが、もはや基本中の基本であるといえる状況だ。その背景には、ReactやVue.js、Angularといったいわゆる“3大フレームワーク”の登場により加速してきたJavaScriptの進歩があることは明白である。中でも、開発現場での圧倒的な利用率を誇り、Webフロントエンド開発の主流となりつつあるのがReactだ。2023年10月4日にグレープシティ(現メシウス)がオンライン上で開催した「Web TECH FORUM 2023 Autumn」では、2つのセッションを通して、業務システムのフロントエンド開発にReactがもたらすメリットや最新の技術動向、成熟したエコシステムにおいて提供される周辺フレームワークの選定ポイントなどについての解説が行われた。 ※本記事は、2023年11月1日に社名をメシウス株式会社へ変更したグレープシティ株式

                                                    ますます高度化するWebアプリケーションのフロントエンド開発を支える「React」の可能性──「Web TECH FORUM 2023 Autumn」開催!
                                                  • v5 で何が変わる? 非同期状態管理ライブラリ TanStack Query の新機能と最適化 - Techtouch Developers Blog

                                                    はじめに 三行まとめ TanStack Query とは? v5 アップデート内容の紹介 hooks のインターフェースの統一 Suspense の正式サポート v4 v5 Optimistic Update をシンプルに そもそも Optimistic Update とは? デモアプリ Optimistic Update の実装例 v4 v5 まとめ 参考資料 はじめに こんにちは!テックタッチでフロントエンドエンジニアをしている tsune です。野球好きの自分は、この時期になるとプロ野球開幕が待ち遠しくなってきます⚾ 開幕戦のチケットも確保したので、当日は会社のメンバーと一緒に神宮球場に行く予定です🥳 この記事では 2023 年 10 月に正式リリースされた TanStack Query の v5 へのアップデート内容を紹介します! また、その中でも Optimistic Upda

                                                      v5 で何が変わる? 非同期状態管理ライブラリ TanStack Query の新機能と最適化 - Techtouch Developers Blog
                                                    • GraphQLをServer Componentsで使いたい

                                                      BARフロントえんどう #1 「フロントエンドリアーキテクト」で使用した資料です! https://cybozu.connpass.com/event/297123/

                                                        GraphQLをServer Componentsで使いたい
                                                      • Server Action と useFormState

                                                        本稿は Next.js で今試せる React canary の機能「useFormState」に関する記事です。Server Action を使用すると、API Client を使用せずにブラウザから直接サーバーサイドの関数を実行できます。Server Action のメリットは以下のものが挙がります。 API Client が不要になる ハイドレーションを待たずに反応できる Progressive Enhancement を維持できる useFormState の話の前に、Server Action について少し触れていきます。 Server Action だけではない「Client Action」とは? 「Server Action」というワードを知っている方は多いと思いますが「Client Action」はまだ馴染みのないワードかもしれません。React、Next.js いずれも公

                                                          Server Action と useFormState
                                                        • Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する

                                                          Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する 2023.10.31 Next.js の Server Actions でフォームを作成する際に、どのような方法でバリデーションを行い、エラーメッセージを表示する際にどのような手段が考えられるでしょうか。プログレッシブエンハンスメントの恩恵を受けるために、サーバーサイドでバリデーションを行いその結果を表示する方法が効果的です。`useFormStatus` フックはこの一連の動作を行うために使用します。 Next.js の Server Actions でフォームを作成する際に、どのような方法でバリデーションを行い、エラーメッセージを表示する際にどのような手段が考えられるでしょうか。 最もシンプルな方法は required 属性や input type="email" な

                                                            Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する
                                                          • TanStackで効率的なルーティングとデータ取得を実現

                                                            初夏のJavaScript祭りにて使用した資料です。 TanStackを用いてアプリケーションを実装するためのポイントと注意点を解説しています。 https://javascript-fes.doorkeeper.jp/events/172450

                                                              TanStackで効率的なルーティングとデータ取得を実現
                                                            • React Routerはルートをどうランク付けしているか

                                                              React Router とは React Router のルートのマッチング React Router のドキュメントのRanking Routesのセクションを例として説明します。 以下の 5 つのパスパターンを取り得るアプリケーションがあるとして、/teams/newというパスが与えられたときに、どのパスパターンがマッチするでしょうか。 [ "/", "/teams", "/teams/:teamId", "/teams/:teamId/edit", "/teams/new", ]; React Router はここからさらにルートをランク付けし、最終的に/teams/newを最もマッチするルートとして採用します。 どのようにルートをランク付けするか ランク付けというのは、ルートがどれだけパスにマッチするかを評価することです。React Router は、ルートのパスパターンと与えら

                                                                React Routerはルートをどうランク付けしているか
                                                              • Million Lint is in public beta | Million.js

                                                                Million Lint is in public betaAiden Bai (opens in a new tab), John Yang (opens in a new tab), Nisarg Patel (opens in a new tab) – February 29, 2024 It’s launch time. After three months and hundreds of commits, we invite you to try out Million Lint. The experience is not finished – there are a few known bugs and several missing features – but we are really happy with how it's shaping up and couldn'

                                                                  Million Lint is in public beta | Million.js
                                                                • Build a Next.js app in Storybook with React Server Components and Mock Service Worker

                                                                  🚀Update, March 12: Storybook 8 is out now!Storybook 8 (our next major release) brings React Server Component (RSC) compatibility to Storybook for the very first time, letting you build, test and document Next.js server applications in isolation. In our first demo, we used Storybook to develop a contact card RSC, which accessed contact data both asynchronously and from a file system while simulati

                                                                    Build a Next.js app in Storybook with React Server Components and Mock Service Worker
                                                                  • Next.js 14まとめ

                                                                    基本的には以下のNext.js 14のブログを翻訳してまとめたものになります。 TL;DR Turbopack: App & Pagesルーター向けの5000のテストをパス ローカルサーバーの起動が53%高速化 Fast Refreshによるコードの更新が94%高速化 サーバーアクションの安定版: 進歩的に強化されたミューテーション キャッシュと再検証の統合 シンプルな関数呼び出し、またはフォームとネイティブに連動 部分的プリレンダリングのプレビュー版: 高速な初期の静的レスポンス+ストリーミングの動的コンテンツ Next.js Learnの新規追加: Appルーターや認証、データベースなどを教える無料のコース アップデート詳細 Next.jsコンパイラ Next.js 13以降、Next.jsではPagesとAppルーターの両方でローカル開発のパフォーマンスを向上させるように取り組んでき

                                                                      Next.js 14まとめ
                                                                    • [Next.js] SSR と React Server Components の相違点を理解する

                                                                      概要 最近、実務の中で Next.js version 13 の App Router で実装する機会をいただきました。 しかし、実際に使ってみたところ、SSR と React Server Components をごっちゃに解釈してしまい、よくわからないことになってしまいました。そのため、今回の記事で自分の中での SSR と React Server Components について一旦整理しよう、ということで今回の記事を作成しました。 公式のドキュメントを参照しながらまとめたため、大きな解釈違いはないと思っているのですが、間違っている箇所などあれば気軽にご指摘いただけると嬉しいです。 SSR とは まず、SSR について簡単にまとめていこうと思います。 SSR とは、Server Side Rendering の略称で、その名の通り、サーバーサイドでレンダリングすることを指します。具体的

                                                                        [Next.js] SSR と React Server Components の相違点を理解する
                                                                      • BFCacheを利用してNext.jsで実装した無限スクロールのUX改善をした話 | PR TIMES 開発者ブログ

                                                                        Next.jsに移行した初期の実装 Next.jsに移行した初期の実装ではgetServerSidePropsで検索結果の1ページ目を取得し、そのデータをTanstack Queryにhydrateするといった形で実装しました(この実装方法自体はUX改善後も変わりません)。 import { dehydrate, type DehydratedState, QueryClient, Hydrate } from '@tanstack/react-query'; export const getServerSideProps = async ({req, res, query}) => { const {search_word: searchWord} = query; const queryClient = new QueryClient(); const searchResultResp

                                                                        • App Router時代のゼロランタイムCSS in JSに何を使えばいいの?

                                                                          はじめに こんにちは! 犬専用の音楽アプリ オトとりっぷでエンジニアしています、足立です! この記事では、Next.jsのReact Server Components(RSC) で使用可能なゼロランタイムCSS in JSライブラリを比較します。 目次 モチベーション 使えるライブラリたち 選定基準 選定結果 比較結果 書き味 パフォーマンス Dynamic Styling 結論 モチベーション みなさん、Next.jsのReact Server ComponentsのStyleをどうやるか問題に悩んでおられますね? 私もどれを使えばいいのかわからずNext.js公式に見に行くと、App Routerで使用できるものとして、以下のライブラリを上げています。 が、React Server Componentsではnot supportedと記載されており、まだまだ未整備な状況のようです。

                                                                            App Router時代のゼロランタイムCSS in JSに何を使えばいいの?
                                                                          • React + TypeScript: useMemoフックの使い方と使いどころ - Qiita

                                                                            import { useMemo } from "react"; export const TodoList: FC<Props> = ({ todos, tab }) => { const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]); }; 引数 calculateValue: キャッシュする値を計算する関数。純粋で、引数は取らず、任意の型の値を返さなければなりません。Reactは、まず最初のレンダー時に関数を呼び出し、値が返されます。次回以降のレンダリングについてはつぎのとおりです。 直前のレンダー時と依存値が変わっていないとき: Reactは前と同じ値を返します。 直前のレンダー時から依存値が変わった場合: calculateValueが呼び出され、返されるのは新たな結果です。値はあとで使える

                                                                              React + TypeScript: useMemoフックの使い方と使いどころ - Qiita
                                                                            • ダイアログもアラートも、Reactで子コンポーネントの開閉管理を実装する | フューチャー技術ブログ

                                                                              Reactでは、画面に関わる表示の制御はかならず何かしらのステート管理を行いそれで行います。ダイアログの場合は開閉をuseState()で作ったフラグで管理するみたいな感じです。 たとえば、ウェブブラウザのJavaScriptから呼べるalert()やconfirm()は、関数を呼び出せばダイアログが表示されますし、ダイアログが閉じたら処理が戻ってきます。confirm()ならユーザーが選択したものと一緒に返ってきます。標準の<dialog>タグが今時ですが、このタグはDOMインスタンスのshowModal()やshow()メソッドを呼ぶ必要があります。命令志向ですね。 一方、Reactでダイアログを実装する場合を考えます。メソッド呼び出しが直接扱えればシンプルですが、Reactでは基本的にステート管理でやりましょう、というのが流儀です。useImperativeHandle()を使うとか

                                                                              • The Two Reacts — overreacted

                                                                                Suppose I want to display something on your screen. Whether I want to display a web page like this blog post, an interactive web app, or even a native app that you might download from some app store, at least two devices must be involved. Your device and mine. It starts with some code and data on my device. For example, I am editing this blog post as a file on my laptop. If you see it on your scre

                                                                                • 【React】最強AI「Google Gemini Pro」のAPIを使ってチャットBOTを作成してみた - Qiita

                                                                                  はじめに 生成AIにおいて、最近話題になっているGoogle Gemini Proですが、2024年始めに予定されている一般公開までは試用期間として無料利用できるようです。 ※1分あたり60リクエストまでという制限は付いております。 有料化される前に、APIを叩いて遊んでみようということで、今回はReactで簡単なチャットBOTを作成していこうと思います。 アプリ概要 ユーザーの文字入力に対して、Gemini ProのAPIから応答を得て、回答を表示する 会話の履歴が画面上に残る(※会話の履歴はAIに記憶させておりません) 実装方針 TypeScriptを利用する レイアウトの装飾はemotionによって行う APIと通信するためにaxiosを使用する 回答をマークダウン形式で表示させるためにreact-markdownを使用する Gemini Proの出力はマークダウン形式で返ってくるた

                                                                                    【React】最強AI「Google Gemini Pro」のAPIを使ってチャットBOTを作成してみた - Qiita