Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

Reactに関するfield_combatのブックマーク (63)

  • Recoil 終了のお知らせ

    Recoil 終了のお知らせ Recoilが2025年始にarchivedされたようです。 冗長的な書き方をせずにglabal stateを扱えるライブラリだったので、度々使用していましたが、何かしらの影響で開発停止となりました。 This repository has been archived by the owner on Jan 2, 2025. It is now read-only. 理由を調べてみた 元Metaのメンテナーの方が、以下のようなポストをしていました。 翻訳すると、 これは言われていることですが、まったく予想通りです。Meta が Douglas Armstrong を解雇した後、私は Recoil の唯一のメンテナーになりました。その後、私も解雇されました。社内の多数のプロジェクトでまだ使用されていますが、誰も責任を引き継ぎたくありませんでした (これはパフォー

    Recoil 終了のお知らせ
  • 【図解解説/初心者OK】Next.js不要?進化したReact Routerで技術記事アプリを作るチュートリアル【TypeScript/TailwindCSS】 - Qiita

    はじめに みなさんこんにちは、Watanabe Jin(@Sicut_study)です。 Reactが大好きな私にとってReact歴史が大きく変わる瞬間に出くわしました。 ついにReact 19が安定版としてリリースされたのです。 React19になってSSRなどサーバーコンポーネントが完全にサポートされます。 そんな中で真っ先に動いたのがRemixです。 Reactでサーバーでの処理ができるとなると「React + React Router」と「React + Remix + React Router」で実現できることの差がなくなりました。 そこでReact RouterとRemixが統合されて新たなフレームワークが生まれます。 それが「React Router v7」なのです!!! React Router v7はいままで通りライブラリとして「ReactRouter」を利用することも

  • React への依存を最小にするフロントエンド設計

    JSConf JP 2024 での発表資料です

    React への依存を最小にするフロントエンド設計
  • 再訪 React Native

    最近React Nativeを使ってアプリを作る機会があり、React Nativeの進化に驚いたのでシェアします。 筆者のReact Native歴 元々はAndroidとiOSでそれぞれネイティブアプリを作っていました。 2017~2019年くらいに仕事趣味の両方でReact Nativeを使っていました。 2019年くらいからFlutterを使ってアプリ開発をするようになり、それ以降はFlutter or ネイティブ開発のみで、React Nativeは使わなくなりました。 当時(~2019)のReact Nativeの印象 5年以上前なので朧げな部分もあります。 一つのソースコードでAndroidとiOSのアプリがどちらも作れて便利 パフォーマンスはネイティブほどではないが、ほとんどの画面で別に気にならない。アニメーションを大量に入れようとすると明らかにカクツク。 当時はパフォー

    再訪 React Native
  • useEffectをちゃんと理解する - Qiita

    はじめに 記事を聞くに至った経緯 プログラミングに触れて初めて自分から勉強しにいったのが React でした。当時はとりあえず動くものをつくるので精一杯だった為 useEffect をなんとなく使うことはできるようにはなりましたが、ちゃんと理解はしておらず、そのままここまで来てしまいました。仕事で痛い目見る前にちゃんとしておこうと思い、改めて勉強しなおすに至りました。 目的 useEffect をいまだになんとなくで使っているので理解を深めたい useEffect を使いこなしてバグのないコードを書けるようになりたい 分からなかったこと そもそも何をしているのか? 副作用 ライフサイクル useEffect はいつ実行される? クリーンアップ dependencies(第二引数)に何を入れればいかわからない eslint-plugin-react-hooksに脳死でしたがっていた これらの

    useEffectをちゃんと理解する - Qiita
  • アクセシビリティが考慮された React Aria のドラッグアンドドロップ

    アクセシビリティが考慮された React Aria のドラッグアンドドロップ 2024.09.07 React Aria は Adobe により提供されている React 用のコンポーネントライブラリであり、アクセシビリティを最優先した設計となっています。記事では、React Aria により提供されているドラッグアンドドロップ機能を紹介します。 ドラッグアンドドロップは、ユーザーが UI の要素をドラッグして別の場所に移動する操作です。Web アプリケーションにおいて、ドラッグアンドドロップはユーザーが直感的に操作できるため、多くの場面で利用されています。例えばタスク管理アプリケーションにおいて、タスクをドラッグして進行状況を変更したり、ファイル管理アプリケーションにおいてファイルをドラッグしてフォルダを移動する機能などがあります。 従来のドラッグアンドドロップ機能はマウス以外での操作

    アクセシビリティが考慮された React Aria のドラッグアンドドロップ
  • 【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?

    こんにちは、ダイニーの Feature team でソフトウェアエンジニアをしている @ta21cos です。 最近は新規事業である決済関連の機能の開発をメインに行なっています。 ダイニーにおける Feature team は機能にフォーカスした開発・運用を行っているチームです。最近は複数の事業毎に Unit として分かれて開発を進めています。 日は、普段の開発で実際にあった Pull Request のレビューコメントから得た学びについて紹介します。 Dialog を実装しよう React を使ってある Dialog を作成するため、以下のようなコードを書きました(コードは簡略化しています)。 // useSample ファイル // 内部でロジックと Dialog を同時に定義している hook const Dialog = memo<{ progress: number, ...

    【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?
  • App Router時代のZero-Runtimeの理解を深める

    App Routerの場合 例えば、以下の構成であれば、「/」にアクセスするとapp/page.jsが表示され、「/products」にアクセスするとapp/products/page.jsが表示されるようになります。 app └── (Auth) --> ルートグループ。URLには影響しないが、関連するページをグループ化する ├── layout.js --> 共通化したいレイアウトを定義する └── signin └── page.js --> /signinにアクセスした際に表示する内容を定義する また、App Routerにおけるファイル規約はこのようになっています。 default.js: デフォルトの画面 error.js: 404エラー画面 layout.js: 共通のUIを設定する loading.js: ローディング画面 middleware.js: リクエストが完了する

    App Router時代のZero-Runtimeの理解を深める
  • 過激派が教える! useEffectの正しい使い方

    ReactのuseEffectは、フックの中でも使い方が難しいものの一つです。そこで、この記事では筆者が考えるuseEffectの望ましい使い方を皆さんに伝授します。 基原則 技術やその要素の使い方を考えるにあたって、筆者が好んでいるのは基原則を置いてそれに基づいて判断することです。ということで、この記事ではまず筆者が考えるReactの基原則を紹介します。 筆者がもっとも重要視する原則は、ReactUIライブラリであるということです。つまり、ReactにはUIの管理をさせるべきであって、その他のことはReactの役目ではないということです。Reactが難しいと思う人がいる場合、何でもかんでもReactにやらせようとするから余計に難しくなっているのだと思います。 例えばアプリケーションのロジックの管理やそれに付随するステートの管理はReactの役目ではないので、Reactの外部で処理

    過激派が教える! useEffectの正しい使い方
  • Remix の細かすぎて伝わらない好きなところ | ドクセル

    スライド概要 一見すると見過ごしがちな、しかし開発者にとって魅力的なRemixの特徴を掘り下げています。Web標準への回帰やクリアなデータフローなど、7つの「細かすぎて伝わらない」魅力を詳細に解説。さらに、Remix v3(React Router v7)への移行や将来の展望まで、普段は見落とされがちな細部にまで踏み込んでいます。Remixの隠れた魅力を探るプレゼンテーションです。

    Remix の細かすぎて伝わらない好きなところ | ドクセル
  • react-router 使う機能、使わない機能

    最近久しぶりに React Router を使う機会があった。 SSR不要な要件だったのでNext.jsではなく Vite を選んだら、ルーターが必要となり React Router を選定した。 React Router は Remix との統合もある通り、もはやただのルーターではなく、fetch や form action までもサポートされている。 採用にあたって考えるのはどこまで React Router の機能を使うかだ。 自分は router が欲しくて入れるので fetcher や action は不要だ。 一方で React Router を FW と考えると FW の標準に乗るのは自然な発想にも思える。 今回、React Router の機能に寄せて開発してみて、この機能使う・この機能使わないという土地勘ができたのでメモをしておく。 router ルーターライブラリなので

    react-router 使う機能、使わない機能
  • Next.js って App Router が出てきて平和じゃなくなったよね

    背景 Next.js に App Router が導入されてから1年近くが経ちました。しかし、未だに App Router を前提として設計のベストプラクティスが定まっておらず、身近なフロントエンドエンジニアはみな「まだプロダクトに取り入れるには考えることが多いよね」という共通認識のまま止まっているような気がしています。 また、App Router が導入されるまでは、技術選定の無難な選択肢として Next.js が最有力でした。しかし、現在は App Router の設計のプラクティスが未発達なことや、オーバースペックであるという見方が出てきており、検討しなければならないことが多くなったように感じます。 そうした中で、ではその懸念というのはどのようなものがあり、導入しずらい要因に何があるのか、というところが、今回執筆を行う上での背景になります。 App Router導入で考えないといけな

    Next.js って App Router が出てきて平和じゃなくなったよね
  • 結局 useEffect はいつ使えばいいのか

    useEffectはReactの中でも扱いの難しいフックとして知られています。Reactで開発を行う中でuseEffectを検討するタイミングや適切な使い方について悩んだ経験のある方も多いのではないでしょうか。 記事では、useEffectの目的を把握し、どのような場合にuseEffectの使用を検討すべきかについて考えていきたいと思います。 コンポーネントの純粋性と副作用 まずuseEffectについて考える前に、コンポーネントの純粋性について理解する必要があります。Reactにおいて純粋性は重要な概念の1つです。 前提として、Reactではすべてのコンポーネントが純関数であることを仮定しています。 Reactは、あなたが書くすべてのコンポーネントが純関数であると仮定しています。 参照:https://ja.react.dev/learn/keeping-components-pure

    結局 useEffect はいつ使えばいいのか
  • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

    はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

    ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
  • Reactコンポーネント同士の結合度を考える

    この記事は株式会社ゆめみ Advent Calendar 2023 | Qiita の 2023-12-21 投稿分です。 React のコンポーネント間の結合度、特に「〇〇的結合」といった段階を使った評価について、私なりにその考え方・用語を React に翻訳してみました。 React のコンポーネント同士の結合のしかたの制約を考慮に入れてみると、結合度の各レベルにはこのような短い説明を付けられます。 レベル1: 内容結合 ―― 高水準言語なので起こらない レベル2: 共通結合 ―― グローバル or Context. 賢く使おう レベル3: 外部結合 ―― React では原則として禁止 レベル4: 制御結合 (ここからがマシな結合) ―― 論理的凝集におちいるので注意 レベル5: スタンプ結合 ―― 無駄なデータにだけは注意 レベル6: データ結合 ―― 理想的 番外編: 名前や型付

    Reactコンポーネント同士の結合度を考える
  • 今話題となっているReact 19のSuspenseの変更内容を詳しく見てみました。

    はじめに 以下のツイートが発端でした。 投稿者は、React Query のメインコントリビュータの tkdodo さんです。 React 19 に含まれる変更にある異変を気づきました。 変更は以下に該当します react: Don’t prerender siblings of suspended component #26380 リリースノートに隅っこにありました。 この変更は RFC なしで含まれました。該当 PR は以下 What React では、 Suspense を使って、非同期処理を行うコンポーネントやReact.lazyによってコンポーネントの遅延ロード時に、読み込みを完了するまでフォールバックを表示させることができます。 以下のような実装があるとします。 import { lazy, Suspense, useState } from "react"; const Av

    今話題となっているReact 19のSuspenseの変更内容を詳しく見てみました。
  • Twitter/Blueskyの自己ポストの全文検索サービスをNext.js App Router(RSC)で書きなおした方法/設計/感想

    mytweetsという自分の Twitter/Bluesky の自己ポストの全部検索サービスをNext.js App Router(RSC)で書きなおしました。 mytweets は TwitterアーカイブBluesky の API を使って自分のポストを S3 に保存しておき、 S3 Selectを使って全文検索ができる自分専用の Twilog のようなサービスです。 自分の Tweets をインクリメンタル検索できるサービス作成キット と Tweets をまとめて削除するツールを書いた | Web Scratch 過去の Tweets を全文検索できる mytweets を Bluesky に対応した。自分用 Twilog みたいなもの | Web Scratch 最初は CloudFront + Lambda@Edge + Next.js Pages Router で動かし

    Twitter/Blueskyの自己ポストの全文検索サービスをNext.js App Router(RSC)で書きなおした方法/設計/感想
  • 素の JavaScript でコンポーネントを作成してみて React の気持ちを考えてみる - Qiita

    はじめに 素の JavaScript でフロント開発経験がない React 育ちのエンジニアです。 Reactフロントエンド開発をしていて大きく困ることはないのですが hooks, JSX, 様々なライブラリを使用していていると JavaScript を理解していたらという場面がちょこちょこ発生します。 そのため最近は JavaScript の基礎的な勉強をしています。 JavaScript の理解を深めることによってスムーズにキャッチアップできたり、裏側でどのように動作しているかなど想像しやすくなるだろうという目論見のもとで。 そこで、素の JavaScript を使用して TODO リストのためのコンポーネントを作成してみました。 JavaScript の Class を理解していることを前提に述べていこうと思います。 TL;DR JavaScript 組み込みの shadowDO

    素の JavaScript でコンポーネントを作成してみて React の気持ちを考えてみる - Qiita
    field_combat
    field_combat 2024/02/28
    shadowDOMマジで知らんかった。
  • ssig33: "最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 ##..."

    新人声優 +81-9014502501 mail@ssig33.com 0088-7709-7529 it/it. my opinion may be not my own. but my fate is my own. 最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 前提: デカいフレームワークは使わない next.js, Astro, Remixは使わない。next.jsとAstroは大好きなのだが、社内向けとか個人用とか小さいアプリに使うにはあきらかに恐竜であると思う。Remixは大好きではない。 前提: SSRしない SSRもSSGもISGもしない。CSRでいい。SSRしたいならReactをそもそもぶん投げたほうが(個人レベルなら)いいと思ってる。それがほしいならPHPRails でええ。今更RailsでView書きたくないとか思うかもしれない

    ssig33: "最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 ##..."
  • 【React】useStateの乱用を避ける

    はじめに React の状態管理で最も基的な方法は、useState フックを使ったローカルな状態管理です。ただ、何でもステートにしておけば良いというものでもありません。今回は、具体的なケースを利用して、useStateを使わない選択肢について説明します。 お題 今回は、全選択可能なチェックボックスを実装することを考えます。以下のような、テーブルの行を複数選択できるようなチェックボックスの UI を想定してみましょう。 各項目には、選択状態を表すチェックボックスがあり、ヘッダー部分には全項目を一括で操作するためのチェックボックスがあります。 各項目のチェックボックスは、チェックが有るか無いかの 2 通りです。ヘッダー部分のチェックボックスは、全項目が選択されているか、全項目が未選択か、選択と未選択が混じっているかの 3 通りになります。ちなみに、HTML のチェックボックスで混じっている

    【React】useStateの乱用を避ける