並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 10771件

新着順 人気順

Reactの検索結果321 - 360 件 / 10771件

  • ReactやAngular、VueなどでComponentのスタイリング時に抑えておきたいこと

    なんとなく自分の中で言語化しておきたかったので、整理も兼ねて記載しておきます🙆🏻‍♂️ 普段仕事で様々なAngular、またはReactのコンポーネントを作ったりメンバーから出るPRを読む中で、コンポーネントのスタイルはどういうふうに当てるのが破綻しにくいんだろうと考えていました🤔 Angularは良くも悪くも一つのComponentが結構おっきくなりがちだったのでそこまで意識しなかったですが、Reactは何なら分割しないと気持ち悪いとすら思えるくらいにコンポーネントを分割しやすいです。 コンポーネントを分割することは各ファイルごとに把握すべき事柄が減るので基本的にはいいことだと思っていますが、スタイリングについては意識しないと破綻してしまうなーと思っています。 (もちろん、スタイリングに限らず意識しないと破滅するんだけど、今回はスタイルについての話です) スタイルの破綻っていうのは

      ReactやAngular、VueなどでComponentのスタイリング時に抑えておきたいこと
    • React の useEffect とクリーンアップ関数の実行タイミングがこれだけで分かる

      React の useEffect の実行タイミングについて、このように思っていませんか? 依存配列(第2引数として渡す配列)を省略したら、マウント時に、そのあと再レンダーごとに実行される 依存配列に空配列を入れたら、マウント時に実行される 依存配列に値を入れると、マウント時と、値が変わるごとに実行される しかもクリーンアップ関数も絡んで来て、もっと複雑で覚えられない… …そのように考える必要はありません。 実は、useEffect の規則は至ってシンプルで、しかも UI ロジックの頻出の課題を洗練されたパターンに落とし込んで解決してくれます。 エフェクトとクリーンアップの実行タイミングは、以下のように論理的にシンプルな形で捉えることができます。 マウント時 に初回のエフェクトが発火され、アンマウント時 に最後のクリーンアップが実行される。 再レンダリング時 に、前回のエフェクトをクリーン

        React の useEffect とクリーンアップ関数の実行タイミングがこれだけで分かる
      • Promise や Context から値を読み取る use React フック

        Promise や Context から値を読み取る use React フック 2024.04.07 React の Canary および experimental チャンネルでのみ利用可能な `use` フックについて解説します。`use` フックは Promise や Context から値を読み取るためのフックで、Promise の値を同期的に読み取ることができます。その他の React フックと異なり、`if` 文やループ内で呼び出すことができる点が特徴として挙げられます。

          Promise や Context から値を読み取る use React フック
        • vim沼: NeovimのReact、TypeScript、Tailwind CSS用セットアップ

          元記事(英語): My Neovim setup for React, TypeScript, Tailwind CSS, etc こんにちは、個人アプリ作家のTakuyaです。 Vim歴はかれこれ10年以上です。 僕はInkdropというMarkdownノートアプリを独りで開発しています。 このアプリはElectronやReact Nativeで組まれており、マルチプラットフォームで動作します。 それらはいつもNeovimを使って開発しています。 約2年前に自分のNeovimで使用しているプラグインについて紹介しました。 あれから結構アップデートしたので改めてまた書きます。 主な違いは設定がLuaで書かれている点です。 また、vim-plugからPackerに移行しました。 ちなみにYouTubeでM2 MacBook AirにNeovimをセットアップする動画を投稿しましたので、併せて

            vim沼: NeovimのReact、TypeScript、Tailwind CSS用セットアップ
          • 私が React を好きな理由

            何かを好きになるのに、理由なんているかい? ~セ・ヤ (B.C.2525)~ 出会い あれはおよそ4年前のことでした。 2016年の冬、寒さに震えていた私はフロント未経験の身でありながらフロントの技術選定をしなければならなかったのです。 その頃のフロント界は混迷を極め、 React もまだ枯れておらず、Angular は2系が1系と大きく違うことから叩かれ、Vue が名乗りを上げようとしていました。「フロント界隈は動きが速い」というフレーズも流行語大賞になりそうな勢いでした。 そんな中選択肢・考えることの多さに絶望していた私は React を試しに触ってみました。 そして「思ったより覚えることないし、独自文法とかも少ないからミスってもリカバリー効きそうだな」と直感的に思いました。 はっきり言ってしまえば雰囲気で選んだのですが、今ならこの時の直感は間違っていなかったと自信を持って言えます。

              私が React を好きな理由
            • Origin UI - Beautiful UI components built with Tailwind CSS and React

              Beautiful UI components built with Tailwind CSS and React.A collection of copy-and-paste components for quickly build application UIs. Quick search...

                Origin UI - Beautiful UI components built with Tailwind CSS and React
              • HonoでAPI付き雑React SPA最小

                laisoさんが書いてたのほぼなんだけど Honoは文字列でもStreamでもなんでも返せるからサーバーサイドもReactで書けるし、tsconfig.jsonで適切に設定すればJSXなんでもいけるし、Viteのdev-serverがあるから、サーバーもクライントも同時に開発、ビルドできて、もちろんAPIを生やすのが得意で、雑React SPA環境(API付き!)作るのに向いてるよ。 作り方解説します。めんどい人はここにプロジェクト作ってるからclone、ダウンロードしてください。 まず、create-honoして、cloudflare-pagesのテンプレートを選ぶ。bunをパッケージマネージャーに使ってる。

                  HonoでAPI付き雑React SPA最小
                • React Nativeをやめる話とKotlin Multiplatform | Wantedly Engineer Blog

                  Wantedlyのモバイルエンジニアの久保出です。今回は、Wantedly VisitアプリにおいてReact Nativeをやめる決断をしたこと、関連してKotlin Multiplatformを導入しようとしていることについて書かせていただきます。 なぜReact Nativeが導入されていたかVisitのiOSアプリは2018年にフルリニューアルしました。リニューアルプロジェクトはモバイルエンジニアを総動員して半年近くかけてリリースしました。 リニューアルでは、色々なコンテンツを見つけられるDiscoverという新機能追加も予定しており、Discoverの実験もリニューアルと並列して行うことになりました。モバイルエンジニアはリニューアルに集中していたため、Webエンジニアのリソースが使えるReact NativeがDiscoverの実装手段に選ばれました。Discoverは、リニュー

                    React Nativeをやめる話とKotlin Multiplatform | Wantedly Engineer Blog
                  • You and 120% Cleaner React

                    reactの新しい公式ドキュメントを参照しながら、FEのアンチパターンとベストプラクティスについて見ていきます。「react.devなら、技術的負債に勝てるっていうのは本当?」「その目で見届けてあげるといい! react.devが技術的負債を前にしてどこまでやれるか...。何もかもが無駄だったと、決して開発の運命を変えられないと確信したその瞬間に、エンジニアは絶望に負けて、グリーフシードへと変わるだろう......

                      You and 120% Cleaner React
                    • React SPA の技術選定で考えたこと(atama plus のケーススタディ)

                      atama plus の osuzu です。 atama plus では、これから段階的に Web ベースプロダクトのフロントエンド開発で React を用いて SPA(Single Page Application) へリプレイスしていきます。 参考: 技術課題のないプロダクトなんてものはない!Django→React リプレイスの意思決定に至る atama plus 流の軌跡 この記事では SPA の技術選定にあたって考えたことを共有します。 プロダクトについて 技術選定はプロダクトの置かれた状況によって意思決定が変わると考えているので、リプレイスするプロダクトについて補足します。 atama plus は塾などで利用可能な学習アプリ「atama+」を提供していますが、一連のプロダクトの中に塾本部の方が管理のために用いる業務アプリがあります。 今回リプレイスするのはこちらの業務アプリで

                        React SPA の技術選定で考えたこと(atama plus のケーススタディ)
                      • React 18 alpha版発表まとめ

                        先日、The Plan for React 18という記事が React チームから発表されました。これは React の次期メジャーバージョンである React 18 で予定されている変更や新機能を紹介するとともに、React 18 の alpha 版の公開を知らせるものです。この記事自体に技術的なトピックは載っておらず、それらはReact 18 Working Groupという新設されたリポジトリに Discussion としてまとめられています。 本記事では、今回あった発表のポイントを厳選してお伝えします。ポイントを絞ってお伝えするため載せる情報は取捨選択しています。隅々まで理解したいという方は原文か他の記事を参照しましょう。 アップグレードの簡単さ React 17 の際もそうでしたが、最近の React は「簡単にアップデートできる」ことをたいへん重要視しており、React 18

                          React 18 alpha版発表まとめ
                        • React×Firebaseでちゃんと開発するときの環境構築手順と解説

                          はじめに ReactとFirebaseを用いてフロントエンド開発するにあたって、追加で入れておきたい各種パッケージや設定を組み込んだ環境構築手順です。 この記事で構築する環境は以下の通りです。 ローカルで開発した内容をGitHubにpushすると、構文チェック→テスト→ビルド→デプロイされます。 また、mainブランチにpushしたらFirebaseの本番環境にデプロイされ、developブランチにpushしたらFirebaseの開発環境にデプロイされます。 事前準備 環境構築をするにあたって、以下は事前に準備してください。 VS Codeのインストール GitHubのアカウント登録 Node.jsのインストール 今回はv16.14.0を利用します Firebaseのプロジェクト作成 GitHubリポジトリの作成 GitHubのリポジトリを作成します。 公開範囲はPublic,Privat

                            React×Firebaseでちゃんと開発するときの環境構築手順と解説
                          • ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA

                            前回の記事『2024年版 HTMLで作るフォームバリデーション』ではHTMLの機能を駆使したフォームバリデーションの実装について解説しました。HTMLのみでも高機能なフォームを作成できるのは解説したとおりですが、HTMLに加えてJavaScriptを組み合わせることでより高機能なフォームを作成できます。それに加えて、開発者体験の向上も期待できます。 本記事では3つのライブラリを使用して実践的なフォームを作成する方法を解説します。 UIライブラリ「React」 フォーム向けライブラリ「React Hook Form」 型システムと相性の良いスキーマバリデーションライブラリ「Zod」 また、静的型付け言語であるTypeScriptもこれらのライブラリと同時に使用し、堅牢なフォームの実装を目指します。 本記事を読むことで以下の知識が身につきます。 フォーム画面のユーザー体験(UX)と、フォーム実

                              ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA
                            • ドキュメント作成ツールの決定版!Markdown + React の体験を Docusaurus で

                              What is Docusaurus ? Build optimized websites quickly, focus on your content - Docusaurus Keytar Docusaurus とは "最適化されたウェブサイトを迅速に構築し,本質に集中させる" というスローガンのもと Facebook 傘下のチームが開発している 静的サイトジェネレータです.特徴として,次の五つが挙げられています. Powered by Markdown => MDX Built Using React Content Search Ready for Translations Document Versioning ※ただし,まだまだアルファなので4,5については工事が進行中 追記:2021 年 5 月 12 日に β 版がリリースされ,2022/02/23 現在では beta.15

                                ドキュメント作成ツールの決定版!Markdown + React の体験を Docusaurus で
                              • 【React も AWS CDK も】何も考えず VS Code に全任せして TypeScript コードをステップ実行デバッグする【できるよ!】 | DevelopersIO

                                環境構築 「何もしてないのにできた」を実現するため、この記事ではインストール直後の Visual Studio Code と Node.js を使用しています。皆さんは今まで通りの環境で大丈夫です。 各ツール類のバージョンは執筆時点で最新のものを使用しています。 Visual Studio Code 1.52.1 Japanese Language Pack(任意) Node.js v14.15.3 プロジェクト作成 任意のディレクトリを作成し、初期化して必要なモジュールをインストールします。そして VS Code で開きましょう。 mkdir ts cd ts npm init -y npm install typescript ts-node -y code . ここまでいたって普通。特別なことは何もしていません。 コーディング それではステップ実行するためにプログラムを書きましょう。

                                  【React も AWS CDK も】何も考えず VS Code に全任せして TypeScript コードをステップ実行デバッグする【できるよ!】 | DevelopersIO
                                • Reactでアプリケーションを構築する多様化

                                  TechFeed Conference 2022で使用した資料 https://techfeed.io/events/techfeed-conference-2022 Twitter https://twitter.com/__sakito__

                                    Reactでアプリケーションを構築する多様化
                                  • Popular React Folder Structures and Screaming Architecture

                                    Screaming ArchitectureEvolution of a React folder structure and why to group by features right away React folder structures have been debated for years due to React's unopinionated approach, leading developers to ask, "Where should I put my files? How should I organize my code?" I've researched the most popular approaches to organizing React projects: Grouping by file type like components, context

                                      Popular React Folder Structures and Screaming Architecture
                                    • React + Firebase入門

                                      初心者(バックエンドエンジニア)が書いた入門書です。 ・FirebaseAuth ・FirebaseStorage ・Firestore ・Realtime Database ・Hosting ・Cloud Functions の説明です。

                                        React + Firebase入門
                                      • Recoil が面白いので Redux との違いを説明してみる - study-react

                                        前置き(私見含む) Recoil が面白い。 React でそれなりの規模のアプリケーションを作ったことのある方なら、状態管理の辛さをよく知っていると思う コンポーネントを跨いだ変数をひとつ作ろうと思っただけなのに「まずは Flux アーキテクチャのコンセプトとアンチパターンから学ぶ必要があります。大量の props バケツリレーから逃れるためには〜」とか言われても 現実的で複雑なアプリケーションの状態、つまり「非同期処理」や「状態同士の依存関係」……などを作っていくのは大変 そんな中 Facebook が新たな状態管理ライブラリをリリースした、それが Recoil これは Redux とも ReactN とも全く異なるアプローチのライブラリで、しかも圧倒的に分かりやすい teramotodaiki.icon 現在は experimental(実験段階) なので Redux のコードをごっ

                                          Recoil が面白いので Redux との違いを説明してみる - study-react
                                        • 【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita

                                          「Divide and Conquer / 分割統治法」 という解法(アルゴリズムの話でよく出てきますね)は、「困難は分割せよ」 として知られる、デカルトが『方法序説』で提唱した思考法が元になっています1。 第二は、わたしが検討する難問の一つ一つを、できるだけ多くの、しかも問題をよりよく解くために必要なだけの小部分に分割すること。 ―― 岩波文庫 『方法序説』 デカルト著 谷川多佳子訳 同様に、React で多機能で複雑な画面を作りたい時、それを小さな機能の集まりと捉えて、それぞれをコンポーネントにすることで、開発がラクになることがあります。 フロントエンドの複雑さや、デザインのための Atomic Design という考え方の影響、または /scripts のように分ける習慣の名残なのか、フロントエンド開発者には、《再利用のためにコンポーネントを作る》という思い込みがあります。(もしくは

                                            【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita
                                          • 【2024年版】JavaScript(React)におけるリーダブルコードのチートシート1~3章 - Qiita

                                            概要 リーダブルコードを読んでいて、JavaやC++、Pythonの事例も混じっているのと割とレガシーな例題が多いなーと感じました。 React.js、Next.js、TypeScriptをメインにフロントエンドエンジニアとして仕事をしている自分用に、後で見返せるよう2024年JavaScript版リーダブルコードのチートシート的なものを改めて読み返しながら随時更新していきます。 そもそもリーダブルコードとは ダスティン・ボスウェル著書の良いコードを書くための技術書です。 エンジニアになったら1度は目を通した方が良いとされる代表格の技術書ではないでしょうか? 意味としてのリーダブル(readable)コード(code)とは、「読みやすいコード」と直訳できます。 チーム開発ではスムーズな開発や保守性を担保するために読みやすいコードが必要とされます。 リーダブルコードではそんな読みやすいという

                                              【2024年版】JavaScript(React)におけるリーダブルコードのチートシート1~3章 - Qiita
                                            • ページ遷移時にReactコンポーネントの状態を維持する - pixiv inside

                                              こんにちは、VRoid部所属のエンジニアのyueです。 VRoid Hubでページ遷移時にcanvasの状態を維持する改善をリリースしました。本記事ではこの取り込みについて解説していきます。 前提 VRoid Hubではモデル詳細画面と投稿者のみに表示するモデル編集画面が存在しています。この二つのページは別々のレイアウトを使っていたため、モデル表示用のcanvasを操作するインスタンスがお互い共通せず、ページ遷移するたびにモデルを再度読み込むことが必要でした。 今回はDOM APIを利用してコード変更を最小限に押えつつ、再度読みを無くすような改善を行いました。 問題の再現 通常Reactの再レンダリングを防ぐには様々な手段があります。例えば React.memo 、React コンポーネントの key 、classコンポーネントのshouldComponentUpdate などが存在します

                                                ページ遷移時にReactコンポーネントの状態を維持する - pixiv inside
                                              • Reactハンズオンラーニングを読んだので感想

                                                はじめに この記事はこれからReactやJavaScriptを0から学びたいと思う人に向けての記事です。 こちらの本を紹介したいなという、ただの布教記事です。 自分もそれなりにJavaScriptを書いて、Reactを勉強してきたと思っていましたが こちらの本を読んで、まだまだ序の口だったのだなと感じました。 もちろん、何年もJavaScriptを書いてきて、ここに書いてある事は常識だぜ!っていう人もいるかと思います。 ただ、最初にも書いたように、0から学ぼうとしている人に向けてなので そういった人にはとても有益な本になるのではないかと思います。 こちらのスクラップに自分で理解するためにコードのメモなどもとってあるので、参考にしてみてください。 本の構成について ツールの紹介 から始まります。 Github React Dev Tools Node などの説明があります。 JavaScri

                                                  Reactハンズオンラーニングを読んだので感想
                                                • vim沼: JavaScriptでElectronとReact Nativeアプリを効率的に開発する設定

                                                  先に英語で書いてから日本語訳しています。 こんにちは、個人アプリ作家のTakuyaです。 僕はInkdropというMarkdownノートアプリを独りで開発しています。 これはmacOSやWindows、Linux、iOSからAndroidまでスムーズに動作します。 なぜならデスクトップ版はElectron、モバイル版はReact Nativeで組まれているからです。 つまりアプリは基本的にJavaScriptで書かれています。 本稿では、vimにて効率的にJavaScriptをコーディングするためのワークフローについてシェアします。 僕はVSCodeのようなIDEを使わず、主にターミナル上で作業しています。 使っているツールはtmuxとNeovimです。 この構成での基本的なワークフローについてはこちらに書きました。 ここでは、更にvimの設定について掘り下げてご説明します。 僕のdotf

                                                    vim沼: JavaScriptでElectronとReact Nativeアプリを効率的に開発する設定
                                                  • Svelteとは?Reactの比較 / TypeScriptと Sassの導入方法|sumi|note

                                                    Svelteとは最近フロントエンドの技術で、ReactやVue.jsに変わって注目を集めているのが Svelte です。下記のような特徴があります。 ・仮想DOMがない ・ファイル拡張子.svelteになる ・svelteファイルに記述されたstyleはスコープ付きになる ・Store管理も内包している(ReduxやVuexのようにインストールしなくてよい) Svelteは何が良いのか? Vue.js やReactと違って仮想DOMがありません。ビルド時に純粋なJavaScriptにコンパイルして表示します。つまりSvelteはコンパイラーです。 そもそも仮想DOMのメリットとして、アプリ全体を再レンダリングせず、変更箇所(実際のDOMと仮想DOMの差分)もしくは Contextでトリガーされたとき を検知して、局所的にレンダリングすることで高速化を図っています。 Svelteの公式ブログ

                                                      Svelteとは?Reactの比較 / TypeScriptと Sassの導入方法|sumi|note
                                                    • Reactコンポーネントの定義にFCではなくVFCを使う - いけだや技術ノート

                                                      [RFC] React 18 and types-only breaking changes · Issue #46691 · DefinitelyTyped/DefinitelyTyped [@types/react] add VoidFunctionComponent type which does not accept "children" by awmottaz · Pull Request #46643 · DefinitelyTyped/DefinitelyTyped https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components/ 簡単に言うと React.FCのpropsの型定義には暗黙的にchildrenが含まれてしまう childrenが必要ない

                                                        Reactコンポーネントの定義にFCではなくVFCを使う - いけだや技術ノート
                                                      • 【Amplify入門】ReactもVue.jsも使わないシンプルな静的サイトを構築する | DevelopersIO

                                                        こんにちは。AWS事業本部のKyoです。 簡単に静的サイトを構築・管理したいといった場合、Amplifyが選択肢の1つに上がってきます。 Amplifyと聞くと「ReactとかVue.jsとか必要なんでしょ?」そんなイメージをお持ちの方も多いのではないでしょうか。 今回紹介するAmplify Consoleはそれらの知識はナシに、従来CloudFront + S3構成で対応していた静的サイトをより簡単に構築・管理することができます。 また、本ブログではホスティングに加えて、カスタムドメインの設定や開発環境の追加、Basic認証にも触れます。これらに関してはCloudFront + S3構成で実装するよりもはるかに簡単に設定することができます。 具体的なユースケースとしては、コーポレートサイトなどにハマるのではないかと思っています。 Amplify is 何? まず、言葉を整理しましょう。

                                                          【Amplify入門】ReactもVue.jsも使わないシンプルな静的サイトを構築する | DevelopersIO
                                                        • 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】daisyUIを触ってみた!かなり楽しいw

                                                            daisyUIとは The most popular, free and open-source Tailwind CSS component library Tailwind CSSをベースとしたCSSライブラリで、No JavaScriptでかわいくて機能的な見た目を実現できるスグレモノ。 Bootstrapのような使い勝手でいろんなコンポーネントを実現できる。実態はTailwind CSSなので拡張も簡単。 今回はこちらのライブラリをReact(Next.js)で色々触ってみましたので、感想などをお伝えします。 なぜ興味を持ったか 最近プロジェクトでChakra UIを触っている。かなり便利なのだが、機能もスタイリングも提供されたものを使っているゆえにロックインされている感じが少し怖い。 特に機能(ロジック)面の実装においては思うところが色々あって、 慣れていないときにあらゆるコンポ

                                                              【React】daisyUIを触ってみた!かなり楽しいw
                                                            • Reactが初回マウントされるまでの仕組みを理解する

                                                              今回はReactが初回マウントされるまでの実装を私自身が学習した流れに沿って解説したいと思います。「React Internals Deep Dive」というブログ記事がReactの内部実装を知るのに大変参考になります。 また、「React Internals Explorer」を使うとReactが実行するプロセスを視覚的に理解することができるため、大変おすすめです。 はじめに 本記事では以下の構成に従って解説をしていきます。 前提として理解するべき要素 FiberNodeの種類 4つの実行フェーズ currentとworkInProgress Trigger フェーズの実装 Render フェーズの実装 Commit フェーズの実装 初回マウントに関する内容は主にこちらのブログを参照しています。 なぜ初回マウントに限定するのか 今回はReactの実行の中でも初回マウントに限定して解説をし

                                                                Reactが初回マウントされるまでの仕組みを理解する
                                                              • Create React AppからNext.jsへの移行事例紹介

                                                                はじめに この記事は、筆者がOOPartsというプロダクトにおいて、Reactのアプリを 「Create React App」 から 「Next.js」 に置き換えた事例を記す内容となっています。 これまで 「0からのNext.jsアプリケーションの作成」 文脈における記事は多くありましたが、「Create React App」から「Next.js」という、 同じReact環境における移行記事 はそこまで多くなかったと認識しています。 ある程度育ちきっているプロダクトであれば、フレームワークごと移行することは中々困難になると思っていますし、それを成し遂げることはとてもチャレンジングなことです。その結果、事例としての大規模移行事例は中々存在しませんし、稀有なことだと思っています。 本記事におけるOOPartsのNext.js移行に関する知見は、今後大きな移行する人たちの参考になれば良いと思っ

                                                                  Create React AppからNext.jsへの移行事例紹介
                                                                • Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita

                                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Concurrent Modeは、現在(2020年3月)実験的機能として公開されているReactの新しいバージョンです。Reactの次のメジャーバージョン(17.x)で正式リリースされるのではないかと思っていますが、確証はありません。なお、React公式からもすでに結構詳細なドキュメントが出ています。 並列モードの導入(実験的機能) Concurrent Modeに適応したアプリケーションを作るためには、従来とは異なる新しい設計が必要となります。筆者はConcurrent Modeを使ったアプリケーションをひとつ試作してみました。この記

                                                                    Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita
                                                                  • React 19によって状態管理はどのように変わるのか

                                                                    React19のRCが発表され数ヶ月が経ちました。Next.jsではReact19のExperimentalな機能を使った実装をいち早くしていたので、少し馴染みのあるアップデートが多かったように思います。 Next.js(特にApp Router)においてReact19のAPIやHooksをどのように使うべきかはNext.jsのドキュメントを見れば大体のベストプラクティスが見えてきます。ですが、実際の開発現場ではApp Routerを採用しているケース以外にもVite+ReactやPages Router, Remixなどと様々な実装があるのが現実です。 そこでこの記事では、特にVite+Reactのスタックを前提にReact19の新機能をいかに活用できるか整理したいと考えています。 また、React19の新機能を見た時にTanStack QueryやSWRのようなサードパーティの状態管理

                                                                      React 19によって状態管理はどのように変わるのか
                                                                    • Reactで余白をどうスタイリングするか

                                                                      最近余白の実装について見直す機会があったので、考えをまとめてみました。 TL;DR Grid なら grid-gap flexbox なら flex-gap にしたい(が、safari が対応してないので記事執筆時点では使えない) 適切な padding を指定する 複数の同一のマージンには Stack、それ以外には Spacer コンポーネント 前提: 子コンポーネントは親コンポーネントの"レイアウトのスタイル"を知ってはならない まず前提として「子コンポーネントは親コンポーネントの"レイアウトのスタイル"を知ってはならない」です。 (太古に書いた記事から具体例を引用) 例えば、こんな感じのアイコンが複数並べたコンポーネントが存在するとします。 アイコンの間にはmarginが等間隔でありますね。 このmarginをアイコンコンポーネント内で定義していたとしましょう。 さて、他のページでこ

                                                                        Reactで余白をどうスタイリングするか
                                                                      • パフォーマンスを気にするなら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】関数型プログラミングを実践する上での、条件分岐の俺的ベストプラクティス

                                                                          はじめに React書いてますか? ReactもFunctional Componentが主流になっていることにより、必然的に関数型で書き進めることになっていると思います。 そんな令和時代、毎度困る場面の一つが条件分岐。 js・tsの条件分岐といえば、if文、switch文、三項演算子など種類は様々。 どういうときにどの形式で書くのか毎度迷うし、その選定を間違えたら汚いコードになりがち。 そこで、今回は条件分岐を書き方の個人的ベストプラクティスを書いていきます! 基本方針 条件分岐の結果を何かの変数に収める これを意識するだけで割とすぐに関数型っぽくなります。可読性やテスト容易性、変更容易性なども上がります。 これの代表的な例が三項演算子だったりします。

                                                                            【React】関数型プログラミングを実践する上での、条件分岐の俺的ベストプラクティス
                                                                          • 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/Vue.js】UIコンポーネントのProps設計と具体的な作り方 | Offers Tech Blog

                                                                              概要 こんにちは、Offers を運営している株式会社 overflow の Software Engineer(主戦場はフロントエンド)の Kazuya です。今回は、UI コンポーネントの Props 設計について紹介します。 コンポーネントを初めて作る方や作り慣れていない方は、どのような Props 設計にすれば、汎用的にできるのか、どこまで Props に持たせるべきか悩んだことがあるのではないでしょうか。本記事では、具体的な実装例を元に解説していきますので、ぜひ参考にしてもらえればと思います。 おすすめの記事 はじめに 本記事では、UI コンポーネントの Props 設計と具体的な作り方を紹介します。基本的に他のフレームワークや言語でも活用できますが、チームメンバーのスキルアセット、要件定義など様々な要因で本記事で紹介する内容とマッチしない場合があります。今回は設計の一例であるこ

                                                                                【React/Vue.js】UIコンポーネントのProps設計と具体的な作り方 | Offers Tech Blog
                                                                              • 究極のReact向けルーターライブラリ「Rocon」を作った - uhyo/blog

                                                                                こんにちは。先月くらいからReact向けのルーターライブラリ「Rocon」を作っていて、この度alphaリリースという形で公開まで漕ぎ着けたので宣伝します。 現在のところ、以下のURLでチュートリアルを読むことができます。 このチュートリアルサイトはRoconを用いて作られています。 Roconチュートリアル: https://rocon.uhyohyo.net/Roconの特徴は非常に型安全であることです。 何よりも型安全性・型周りの快適性を優先してAPIが設計されています。 当然、TypeScriptと一緒に使うことが前提です。 また、Roconはreact-router-domの代替となることを意図しています。 そのため、Roconを使うべきとき・使うべきでないときをまとめると以下のようになります。 Roconを使うべきとき: 今react-router-dom等を使ってSPAを作っ

                                                                                  究極のReact向けルーターライブラリ「Rocon」を作った - uhyo/blog
                                                                                • Cypressで始めるReactのE2Eテスト-導入から実際にテストを書いてみよう!

                                                                                  こんにちはかみむらです。 SPAの登場で状態管理が複雑化するに連れて、よりフロントエンドのテストが重要になってきました。 しかし、なかなか導入できていないところが多いのではないでしょうか。その中でもE2Eテストは工数の兼ね合い、優先的にテストできない工程ですよね。 そこで、今回は導入コストが低いCypressで、フロントエンド(React)のE2Eテストについてご紹介します。 Cypressとは? Cypressはブラウザでのテスト作業を自動化するテストフレームワークです。オープンソースできています。 これまでのE2EテストはSeleniumが主流でしたが、最近はCypressも勢いを増しています。 また、Cypress DashboardというSaaSもあるので、これらをうまく組み合わせることでチームでのテスト効率をあげることに繋がります。 今回はCypressを使ってフロントエンド(R

                                                                                    Cypressで始めるReactのE2Eテスト-導入から実際にテストを書いてみよう!