タグ

reactに関するmaecchiのブックマーク (64)

  • 今話題となっている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の変更内容を詳しく見てみました。
  • 実践Next.js - App Router への理解を深めるために -


    Next.js  App Router  Next.js  App Router  Web 3/16 稿App Router   public14 App Router 使510稿 SNSPhoto Share使 1Next.js  2Server Component  3App Router  4Route Handler5
    実践Next.js - App Router への理解を深めるために -
    maecchi
    maecchi 2024/03/03
    AppRouterの知識がまだ足りないので発売されたら購入しよう
  • useEffect: 基礎から使用すべきでない例まで

    はじめに useEffect について、きっちり調べようと思い調べてみた。公式ドキュメントのまとめ記事になっている。 useEffect 基礎編 useEffect とは Effect を用いるとレンダリングの後にコードを走らせることができ、React 外のシステムの要素と同期することが可能になる。 なぜ必要か まず、React コンポーネントの二種類のロジックについて整理する。 レンダリング レンダリングをする際、コードはpropsとstateを受け取り、変換し、画面で表示したいJSXを返す。コードのレンダリングは結果のみを計算するべきでそれ以上のことをするべきではない。 イベントハンドラ イベントハンドラはコンポーネントの中にある関数で、Input Field の更新やユーザを他の画面へ誘導したり等、単純な計算以上の役割を担う。イベントハンドラはユーザの行動(ボタンクリック等)による、

    useEffect: 基礎から使用すべきでない例まで
    maecchi
    maecchi 2024/01/07
    useEffectの挙動が想定通り行かないときあるけど、その場合は依存関係で問題があるケースが多いなあ
  • useEffectEvent フックを使って useEffect ともっと上手く付き合おう

    useEffectEvent という react フックをご存知ですか? まだ experimental なので、知らない方も多いと思います。しかし、このフックは 「なんで今までなかったんだろう?」と思ってしまうほど革新的 です。今回はその使い方の紹介などをします。 概要: useEffectEvent は useEffect とともに使うフック まず概要ですが、useEffectEvent は イベントリスナーを設定する useEffect とセットで使うフック です。 useEffectEvent を使うと、エフェクトとイベントリスナーを分離できます。そして、イベントリスナーの deps の変化時にエフェクトを再実行せずに済みます。 …とまあ、抽象的な説明だけでは分かりづらい と思うので、以降では useEffectEvent がどういう課題を解決するのか、また具体的にどういうケースで

    useEffectEvent フックを使って useEffect ともっと上手く付き合おう
  • 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まとめ
    maecchi
    maecchi 2023/10/29
    ローカルサーバーの起動の高速化はとても嬉しい
  • 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 + TypeScript: カスタムフックでロジックを再利用する - Qiita


    React2023316(Introducing react.dev)稿Reusing Logic with Custom HooksTypeScriptJavaScript React + TypeScript: ReactLearn React ReactuseStateuseContextuseEffect  
    React + TypeScript: カスタムフックでロジックを再利用する - Qiita
  • React の変数・状態をライフタイムで分ける――アクション/レンダー/コンポーネント/ファイル


    yoshiko  React 3  1. , 2. Global State, 3. Local State3  React  const,  4      React 
    React の変数・状態をライフタイムで分ける――アクション/レンダー/コンポーネント/ファイル
    maecchi
    maecchi 2023/08/06
    Reactのファイルを整理したいときにライフサイクル周りが課題になることが多いです。
  • ReactのPropsのバケツリレーをなくす方法 - Qiita

    はじめに Reactでは、コンポーネント間でデータを受け渡すためにprops(プロパティ)を使用します。しかし、複数のコンポーネントを経由してデータを渡す必要がある場合、いわゆるpropsの"バケツリレー"が発生します。この問題を解消するための方法を説明します。 バケツリレーとは? propsの"バケツリレー"とは、親コンポーネントから子コンポーネント、その子コンポーネントからさらにその子コンポーネントへと、データを手渡ししていくような状況を指します。これはコードの可読性や保守性を下げ、バグの原因となりやすいです。 Context APIを用いた方法 Reactには、このバケツリレー問題を解消するための機能としてContext APIがあります。Context APIを使うと、コンポーネントツリー全体でデータを共有でき、各コンポーネントがデータを直接取得することが可能になります。 まず、新

    ReactのPropsのバケツリレーをなくす方法 - Qiita
    maecchi
    maecchi 2023/06/10
    ContextAPI使える箇所あった気がするから時間のあるときにリファクタしておきたい
  • Introducing react.dev – React

    Today we are thrilled to launch react.dev, the new home for React and its documentation. In this post, we would like to give you a tour of the new site. tl;dr The new React site (react.dev) teaches modern React with function components and Hooks. We’ve included diagrams, illustrations, challenges, and over 600 new interactive examples. The previous React documentation site has now moved to legacy.

    Introducing react.dev – React
    maecchi
    maecchi 2023/03/26
    チュートリアルやAPIガイドが更新されている
  • React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計|ハイクラス転職・求人情報サイト AMBI(アンビ)


    ReactRedux   ReactUIReduxChatworkjQuery@eielh@guvalif Chatwork2011310 
    React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計|ハイクラス転職・求人情報サイト AMBI(アンビ)
    maecchi
    maecchi 2022/10/22
    自分の実装箇所でFeatureToggles入ってないところあるから差分が大きいときは気をつけないとなあと思う。
  • Reactパフォーマンス最適化まとめ - Qiita

    はじめに 自分は2021年に新卒でWeb系の開発会社にフロントエンジニアとして入社し2022年で2年目になります。 実務ではReact×TypeScriptを利用したフロント周りの開発をメインで行なっています。 今回は、現場で経験したReactアプリのパフォーマンス最適化についてまとめていきます。 この記事の対象者 Reactの初心者から中級者 Reactのパフォーマンス最適化について学びたい人 この記事の目標 Reactのレンダリングの仕組みを理解する Reactのパフォーマンス最適化の方法を知る React.memo, useCallback, useMemoについて理解する おことわり React.memo, useCallback, useMemoを使うコストについての詳しい解説 パフォーマンスの数値的な計測は行いません 上記の2点に関しては参考記事を該当箇所で貼ります。 Reac

    Reactパフォーマンス最適化まとめ - Qiita
  • React公式ドキュメントの「You Might Not Need an Effect」を読んだ - dackdive's blog

    少し前に話題になっていた以下のドキュメントをようやく読んだ。 beta.reactjs.org 記事を書いた時点でドキュメントはまだベータという位置づけ。 長いので先に目次を。 ⭐ は中でも特にへえ〜って思ったやつ。💬 はコメント。 How to remove unnecessary Effects Updating state based on props or state (props や state に応じて state を更新する) Caching expensive calculations (コストの高い計算をキャッシュする) ⭐ Resetting all state when a prop changes (props 変更時にすべての state をリセット) Adjusting some state when a prop changes (prop の変更時にある

    React公式ドキュメントの「You Might Not Need an Effect」を読んだ - dackdive's blog
    maecchi
    maecchi 2022/10/12
    公式側もあとて読み直そう
  • Reactベースのチャートツール選定(2022年版)

    初めに 何気にzenn初投稿なのでお手柔らかにお願いいたします。 業務でReactを使用しており、チャートツールの導入を行う際に良さそうなライブラリを調査しました。 ※スター数は調査時点での数です サンプル実装 全部ではないですが、棒グラフを自分で実装してみました。参考にどうぞ。 調査基準(選定基準) Reactベースであること 定期的にメンテナンスがされていること スター数がある程度多いこと チャートが見やすいこと できることが多いこと(チャート数が多いこと) 開発していてモチベが上がりそうなこと(モチベ大事) 今回調査したライブラリ react-chartjs-2 [特徴] Chart.jsベースのコンポーネント スター数: 5.3k Ant Design Charts [特徴] G2Plot, G6, X6, L7Plotベース(これらが何かは知らない) スター数: 1.2k マップ

    Reactベースのチャートツール選定(2022年版)
  • Hooks時代のReactライフサイクル完全理解への道

    はじめに これはクラスコンポーネントのライフサイクルを理解した上で、それに対応するように関数コンポーネントのライフサイクルを理解しようという試みです。 厳密にはReactのライフサイクルはクラスコンポーネントと関数コンポーネントそれぞれで違う概念を持っているようで、それぞれのライフサイクルに紐付けて考えるという行為自体がナンセンスな可能性がありますが、理解の手助けになれば幸いです。 そのため、なるべくわかりやすくするために、厳密でない言い方をすることがあります。ご了承ください。 もし明らかにまずい言い回し、もしくは間違って認識しているものがある場合はコメントにて教えていただけると嬉しいです。 モチベーション 僕はReactの経験がクラスコンポーネントはちょっとだけ書いたことがあるくらいで、ほぼ関数コンポーネント×hooksから入ったようなもなのでいまいちライフサイクルが理解できていない。

    Hooks時代のReactライフサイクル完全理解への道
    maecchi
    maecchi 2022/03/16
    Hooksの良い復習になりそうです。
  • React周りのいつかお世話になる記事たち(随時更新)


    React   🌟 =  React React Docs BETA 🌟  TypeScriptReact 4  -  ft. React - BOOTH 🌟 React 2 Web RailsNext.js - hokaccha memoReact Glossary + Explain Like I'm Five 🌟 React Server Components  React
    React周りのいつかお世話になる記事たち(随時更新)
    maecchi
    maecchi 2022/01/30
    近いうちにまたお世話になりそう
  • ReactベースのあたらしいフレームワークRemixをためしてみた | DevelopersIO


    OSSReactWebRemix  CXMAD re:InventAWSReact Conf 2021React v18 betaNext.js v12React Router v6RoutingReact LocationReactRemix2021/11/23RemixRemixReactRouterMichael Jackson@mjacksonRyan Florence@ryan
    ReactベースのあたらしいフレームワークRemixをためしてみた | DevelopersIO
    maecchi
    maecchi 2021/11/23
    少し気になるFW
  • useEffect()内でsetState()するのを減らすテク

    コンポーネント上の useEffect() (or useLayoutEffect()) で複雑なこと、特に再レンダリングを発生させるsetState()等をすると、deps配列(第2引数)の指定方法などによっては、おかしな挙動を起こしうるのでなるべく避けたいです。何より、テストが面倒なプレゼンテーションロジックは、常にシンプルに保つ方がメンテナンスが容易になります。 追記: これはStateの更新がEvent(setState())を発生させ、さらなるState更新を生むことで、データの流れが複雑になっているというところが質かなと思います。ReduxじゃなくてもUnidirectional Data Flow(単方向データフロー)は普遍的な概念として有効なはずです。 Unidirectional Data Flowについては画像作りをサボってしまったのでこの記事あたりを参照してください

    useEffect()内でsetState()するのを減らすテク
  • Reactを学ぶときに役立つ情報・本など

    React公式ドキュメントのチュートリアルは古くなっているので、TypeScriptReact Hooksで開発することも考えて参照するときにおすすめできるサイトを置いておく。 ほかにも有益な情報はあると思うが、あまり多すぎても大変なので、被りがなさそうかつ有益だと思っているリンクに絞っている。 2021年11月30日に編集 React公式ドキュメントのリニューアルが公開されるまでの繋ぎ。 New React Docs · Issue #3308 · reactjs/reactjs.org https://github.com/reactjs/reactjs.org/issues/3308 React公式ドキュメントがBeta版で公開されています。まずはこちらを参照するといいと思います!

    Reactを学ぶときに役立つ情報・本など
  • リアルタイムにコンポーネントをプレビューできるReact Preview (beta) を試してみた | DevelopersIO

    吉川@広島です。 Are you a React dev? Do you use Visual Studio Code? I just released the beta of React Preview for VS Code ?https://t.co/HnFpTpO9op pic.twitter.com/qU4sxTo30g — François Wouts (@fwouts) June 25, 2021 「お前らReactVSCode使ってる? React Preview for VS Codeのベータ版を出したぜ」 こちらのツイートが目に入り、「え、これすごくない?」ということで試してみました。 記事ではReactアプリケーションの初期構築手順は割愛します。 環境 react 17.0.2 typescript 4.3.2 styled-components 5.3.0 VS

    リアルタイムにコンポーネントをプレビューできるReact Preview (beta) を試してみた | DevelopersIO
    maecchi
    maecchi 2021/07/04
    console.logも確認できるのは良いなあ