タグ

Reactに関するsh0g0のブックマーク (11)

  • React Suspenseで不要な描画処理をなくす

    function ProfileDetails() { const user = resource.user.read(); // throw promise here return <h1>{user.name}</h1>; } この仕様自体、それだけで記事になるほど面白いです。(ここでは割愛します。) React Freeze React Freezeは、そんなSuspenseを利用したライブラリです。 元々React側は、データ取得の際に使うことが主なユースケースと言っていたのに対して、このライブラリの目的は、ある瞬間にユーザーに表示されていないアプリの部分について、不要な再レンダリングを避けることとなっています。 どうやって実現しているのでしょうか? 実は、ライブラリの実装もシンプルで興味深いです。 // ref: https://github.com/software-mansi

    React Suspenseで不要な描画処理をなくす
    sh0g0
    sh0g0 2022/08/16
  • ReactはなぜFiberで書き直されたのか?Reactの課題と将来像を探る

    先日行われたFacebookの開発者向けイベント「F8」で、React Fiberの発表が行われていました。 といっても、React関連の新しいプロダクトが発表されたというわけではなく、Reactが一から書き直されたということのようです。 ReactはなぜFiberで書き直されねばならなかったのか?Fiberが解決しようとした課題は何なのか? その答えを聞くために、React Fiber現状確認というブログエントリで大変詳細にFiberの事を解説されていた小林徹 (Twitter: @koba04)さんに、実際のところを詳しく伺ってきました。 React Fiberとはなんなのか、そしてReactの将来像を探ってみます。 React Fiberとは? 白石 React Fiberってなんですか?まずは概要を教えてください。 小林 Facebookが先日のF8カンファレンスで発表した、Rea

    ReactはなぜFiberで書き直されたのか?Reactの課題と将来像を探る
  • GitHub - facebookarchive/flux: Application Architecture for Building User Interfaces

    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 - facebookarchive/flux: Application Architecture for Building User Interfaces
  • React Hooksの掟と舞台裏 - Qiita

    React 16.8でついに正式版となったReact Hooksですが、使うにあたっていくつかの掟があります。そして、その掟がどのような理由で存在するのかについても解説していきます。 Hooks関数を関数コンポーネントやCustom Hooksの外から呼んではならない Hooks関数の呼び出しは、関数コンポーネントやCustom Hooksのトップレベルに置かなければならない ある関数コンポーネントについて、Hooks関数の呼び出しは毎回同じ順序・回数でなければならない 掟の存在理由 クラスコンポーネントであれば、明確なデータの保管場所として「インスタンス」がありますし、前にWeakMapへの保管をしてみたときも、保存用のWeakMapオブジェクトと、キーとなるオブジェクトが存在しました。では、そういったインスタンスとコード上で結びつかない関数コンポーネントの場合、Hooksのデータをどう

    React Hooksの掟と舞台裏 - Qiita
    sh0g0
    sh0g0 2022/08/16
  • これから始めるReact.js 発展編 | 第1回 Fluxという設計思想

    シリーズ内で紹介している内容は利用できますが、現在のバージョンでは新しい書式などが追加されているので注意してください。(2020年7月現在) はじめに このシリーズでは、入門シリーズの先にあるReact.jsの関連トピックとして、代表的なものを取り上げていきます。 まずは、React.jsでのアプリケーション構築におけるFlux(フラックス)について解説します。 なお、このシリーズを読み進める前に、入門のシリーズ*でReact.jsの基的な使い方を押さえておくことをおすすめします。 *注:入門シリーズ 「これから始めるReact.js」シリーズ Fluxとは React.jsと同じく混同されがちですが、Fluxも特定のライブラリやフレームワークを指す言葉ではありません。 しいて分類するなら、MVCパターンと同じ、アプリケーションの設計思想・デザインパターンの1つです。 Fluxは、Fa

    これから始めるReact.js 発展編 | 第1回 Fluxという設計思想
    sh0g0
    sh0g0 2022/08/14
  • React Fiberの「Fiber」とはなんなのか勉強してみた - Qiita

    色々素敵な記事が既に存在してはいますが、自分自身の理解を深めたく、React FiberのFiberとはなんなのか勉強してみたものをまとめました。 尊敬の念を込めて、大変勉強になった素晴らしい記事たちを先に紹介しときます。 React Fiber現状確認 ReactはなぜFiberで書き直されたのか?Reactの課題と将来像を探る React Fiberアーキテクチャについて 解説しないこと Fiber以外のReact ver.16以降での変更点 あくまでFiberとはなんなのかにフォーカスします。 (ただ個人的には render() の結果を文字列や配列で返せるようになるのは超嬉しいです。) React Fiberを理解するための前提知識 React Fiberを理解するにあたって重要なキーワードは次の3つです。 リコンシリエーション 作業 スケジューリング FiberはReactのリコ

    React Fiberの「Fiber」とはなんなのか勉強してみた - Qiita
    sh0g0
    sh0g0 2022/08/14
  • React Fiber現状確認

    F8でもReact Fiberについての発表もあったので、気になっている人も多いReact Fiberの現状について簡単に書きたいと思います。 Reactの完全な書き換えということで、使い方も変わってしまうと思っている人もいると思いますが、内部実装の書き換えであり、利用者から見える部分ではほとんど変更はありません。 もちろん、react-fiberというパッケージをインストールするというわけでもありません。 むしろ、v16の時点では現在の実装と互換性を保たれているので、v16がリリースされた時に、v15.5を使っていればほとんどそのままv16に更新できると思います。 そして、言われなければ内部実装が変わっていることに気づかないのではないかと思います。 とりあえずどうなるのか知りたい人向けのまとめ v16では、基的にはv15の時と同じように動作します。逆に言うとパフォーマンスもそんなに変わ

    React Fiber現状確認
  • React HooksのuseStateがどういう原理で実現されてるのかさっぱりわからなかったので調べてみた

    Reactのhooks、すごいですよね。関数コンポーネントの自由度があがって色々実現できそうです。 私はReactについては2年ぐらい知識止まってるので、かなり衝撃的でした。ContextとかSuspenseとかいろいろ増えてて今更追いつくのは難しいけど、hooksはちょっと使ってみたいなーと感じました。 そんなhooksですが、使い方はそこそこわかるけど動作原理がさっぱりわからなかったので、ちょっと調べてみました。 そもそもHooksってなに hooksは関数コンポーネントからReactのいろいろな機能をフックでき、自分で汚く実装するんじゃなくてReactが面倒見てくれるよーってやつです。useStateで状態を持たせることができ、useEffectでcomponentDidMountみたいなことを実現、あとほかにもuseXXX系がいろいろ、という感じです。 useStateを例に見てみ

    React HooksのuseStateがどういう原理で実現されてるのかさっぱりわからなかったので調べてみた
    sh0g0
    sh0g0 2022/08/14
    “毎回同じ順番で同じ回数呼び出さないとデータがずれる”
  • Promiseをthrowするのはなぜ天才的デザインなのか - Qiita

    ReactのConcurrent Modeが最初に発表されたのはもう1年近くも前のことです(記事執筆時点1)。Concurrent Modeはたいへん奥深い機能で正式版がたいへん待ち遠しいですが、Concurrent Modeの代名詞として多くのReactユーザーに知られているのはPromiseをthrowするというAPIデザインです。Concurrent Modeでは、コンポーネントがレンダリング時にPromiseをthrowすることで、レンダリングをサスペンドした(Promiseが解決されるまでレンダリングできない)ことを表します。 Concurrent Modeに関しては筆者の既存記事Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理などをご参照いただきたいのですが、ここではPromiseをthrowするということ自体に焦点

    Promiseをthrowするのはなぜ天才的デザインなのか - Qiita
    sh0g0
    sh0g0 2022/05/25
  • jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです JavaScript Advent Calendar 2017 - Qiitaの2日目の記事です. 何故この記事を書こうと思ったか JavaScriptの定番ライブラリであるjQueryは, 最近以前と比べて必要とされなくなってきました. その理由はよく, Reactなどの他のフレームワークが登場したせいだと勘違いされています. しかし, jQueryが必要とされなくなってきた理由は標準DOM APIの進歩によるものです. この記事ではそれを書いていきます. なお, この記事ではReact Nativeについて触れる必要がないため, React DOMのことも一緒くたにReactと記述します. また, 私がweb開発を開始したのは3年前ぐらいから

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです
  • 出来る限り短く説明するReactJS入門 - Qiita

    VTeacher 所属の Masaki Suzuki です。 ※各項目をできるだけ3行以内にまとめています デザイナーさんやフロントのエンジニアさん向けのReact.js(リアクトジェーエス)入門です。 「最近、『リアクト』と聞くけど、つまり何?」ってひとが対象です。 React.jsとは React.jsはUIのパーツ(構成部品)を作るためのライブラリです。 FacebookがOSSとして公開しています。 初回投稿日:2015年06月21日 この投稿はReactが話題になり始めた頃(6年前のv0.1の頃)、整理した記事です。 最新情報はこちら React Server Components 2021年からReactを始めるなら React Server Components 一択ではないか? https://zenn.dev/rgbkids/articles/e58ef9b947b199

    出来る限り短く説明するReactJS入門 - Qiita
  • 1