並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 296件

新着順 人気順

状態管理の検索結果81 - 120 件 / 296件

  • Nuxt 3 + TypeScript で状態管理(useState編)

    2022年11月16日 Nuxt 3.0.0 (stable) がリリースされました(日本時間11/17) Announcing 3.0 • Nuxt この記事はベータリリース時に初稿を公開しましたが、本リリース版に対応するため加筆修正しています。 Nuxt 3 の useState を使った State 管理(状態管理)の記事です。 Nuxt 3 では Vuex がサポートされていません。 Vue 3 に対応した Vuex 5.x がリリースされるのを待たずとも Nuxt 3 にもいち早く対応した Pinia を使って State 管理をすることは可能です。 しかし、それほど大規模なアプリケーションでなければ useState と Composables (Composition Function) を組み合わせることで非常に簡単に State 管理をすることが可能になります。 Pini

      Nuxt 3 + TypeScript で状態管理(useState編)
    • Redux不要論と、グローバル状態管理ライブラリReactNの紹介 - Qiita

      若干強めのタイトルです。あらゆるケースでReduxが不要と主張するつもりはありません。 しかし、Reduxが不要と思われるケースでもReduxが使われることを避けるため、「Reduxは必ず採用しなければならないものではない」ということを意識していただきたく、刺激的なタイトルで始めました。 (個人的にはむしろ、積極的に採用すべき理由がなければ採用しない方が良いくらいに思っています) (MobXとか他のライブラリについては一旦置いておきます) Reduxのメリット Redux's motivation 曰く、SPAに於けるstate管理とDOM操作の複雑性のうち、Reactがviewレイヤの問題を整理しようとしている。Reduxはstate管理の部分を担当し、stateの変更を予測可能なものにする(to make state mutations predictable)ことを目指しているとのこ

        Redux不要論と、グローバル状態管理ライブラリReactNの紹介 - Qiita
      • 【Web】バックエンドから受け取ったデータってどう扱うの?React Query を使ったイマドキな状態管理|F Lab|Fixel株式会社

        特に、React に React Hooks が導入されたり、async/await 記法が普及してきたりしたことなどを背景に、コンポーネントから直接 API を呼び出すことも簡単にできるようになってきました。 ちなみに、React Query などライブラリの話に入る前に注記しますが、この「Redux を剥がしてコンポーネントから直接 API データを取得する」ということは React だけの機能で(=他のライブラリ不要で)実現することもできます。具体的には以下のようなコードになります: さて、上記のような議論から、最近ではグローバルステートから「サーバーステート」(API から取得したデータに基づくステート)を切り出す流れも見られるようになりました。サーバーステートが切り出された後のグローバルステートは「クライアントステート」として扱うこともでき、以下のように整理することができます:

          【Web】バックエンドから受け取ったデータってどう扱うの?React Query を使ったイマドキな状態管理|F Lab|Fixel株式会社
        • 【Flutter】「GetX エコシステム」- 状態管理編(翻訳記事)

          本記事はこちらの記事の日本語翻訳です。執筆者であるAachman Gargさんの許諾を得て翻訳しています。 GetXは海外での知名度の割に、日本語情報が少なすぎると感じ翻訳を思い立ちました。状態管理のパッケージとしてProviderやRiverpod以外の選択肢も模索している方に読んでもらえれば幸いです。 後編はこちら Flutterは本当に素晴らしいですね。数あるフレームワークの中でも、機能やパフォーマンス面で妥協することなくクロスプラットフォームなアプリをスピーディに作れるという意味では、ベストな選択肢だと思います。開発体験(DX)の点でも合格です。 もちろん、パーフェクトと言うつもりはありません。まだ改善の余地がある点も多いと感じます。 たとえば、BLoCパターンで書かなければいけないボイラープレートコード、MobX導入時にコード生成にかかる時間、NavigatorやMediaQue

            【Flutter】「GetX エコシステム」- 状態管理編(翻訳記事)
          • 今の時代の Firestore の状態管理を模索する

            Hooks の登場、GraphQL や SWR などの Query 系のライブラリの台頭によって、データ取得が宣言的になってきました。 以前は、一つのデータを色んなコンポーネントで使うときに、バケツリレーを避けたいとかの理由で、Redux やらでサーバーのデータをフロントに保持して単方向に流す状態管理をしていました。 SWR などキャッシュ機構をもつライブラリが普及してきて、同じリソースの再取得はキャッシュから取得できて無駄にならないし、 「必要なところで必要なデータを取得してるこっちの方がスマートなんじゃない?」 とコンポーネントごとに都度データをリクエストする設計(「コロケーション」という原則に則る)が採用されてきています。 状態管理の変遷は以下の記事がわかりやすかったです。 また、コロケーションという言葉は以下の記事で知りました。 この流れを汲んだ上で Firestore の状態管理

              今の時代の Firestore の状態管理を模索する
            • UiStateを使った状態管理

              Photo by Med Badr Chemmaoui on Unsplash状態管理する方法は色々ありますが、UiStateという状態を一つのclassでまとめて管理する方法を紹介します。 (UiStateの他にはUiModel, ViewStateなど色んな呼び方を見かけます) UiStateでも大きく2つやり方があるかなと思っています。 sealed class を使ったやり方と data class を使ったやり方です。 sealed class を使った管理sealed class を使って画面が取り得る状態を定義して、必要なデータは各継承クラスのプロパティに持たせる方法です。 以下のコメントに書いてる通り、各状態を sealed class を継承した data class や object で表現しています。

                UiStateを使った状態管理
              • Nuxtプロジェクトの状態管理をPiniaに移行してみた - Qiita

                この記事は Sansan Advent Calendar 2021 の14日目の記事です。 今回は気になっていたPiniaを触ってみるべく、個人開発しているWebアプリの状態管理をPiniaに移行してみたのでその手順と所感をまとめたいと思います。 ソースコードは以下です。 環境, 前提 Node.js 16.13.0 npm 8.1.4 Nuxt.js 2.15.8 (TypeScript + Composition API) Piniaについて PiniaはVueのグローバルステートマネジメントのためのライブラリです。 Vueの状態管理といえばVuexが主流ですが、PiniaはComposition APIにおけるStoreの扱いを再設計するための実験として、Vue.jsコアチームメンバーのposvaさんによって作成されたようです。 そしてVuex5は現在RFCにて絶賛仕様検討, 開発中

                  Nuxtプロジェクトの状態管理をPiniaに移行してみた - Qiita
                • macOS Catalina 10.15.5で導入されたバッテリーの状態管理機能はThunderbolt 3ポートを搭載したMacBookシリーズでのみ利用可能。

                  macOS Catalina 10.15.5で導入された「バッテリーの状態管理機能」はThunderbolt 3ポートを搭載したMacBookシリーズでのみ利用できる機能となっています。詳細は以下から。 Appleは現地時間2020年05月26日にリリースした「macOS Catalina 10.15.5 Build 19F96」でMacBookシリーズに新しいバッテリー状態管理機能を導入ましたが、Appleは翌日そのサポートページを更新し、この機能はmacOS 10.15.5搭載の新しいノート型MacまたはmacOS 10.15.5へアップグレードされたThunderbolt 3搭載のノート型Macであることを追記しています。 Battery health management is on by default when you buy a new Mac notebook with m

                    macOS Catalina 10.15.5で導入されたバッテリーの状態管理機能はThunderbolt 3ポートを搭載したMacBookシリーズでのみ利用可能。
                  • Apple、バッテリー状態管理機能を追加した「macOS 10.15.5 アップデート」を配布開始

                    Appleは5月28日、macOS Catalinaのソフトウェア・アップデートから「macOS 10.15.5 アップデート」を提供開始している。 macOS Catalina 10.15.5では、MacBookの“省エネルギー”設定にバッテリーの状態管理機能が追加されるほか、グループFaceTime通話で発言中の人のビデオタイルを自動的に目立たせる機能を制御するオプション、Pro Display XDRに搭載されている補正機能を微調整するためのコントロールが導入される。 macOS Catalina 10.15.5の新機能は次の通り: バッテリーの状態管理 Macノートブックのバッテリー寿命を最大限に延ばすのに役立つ、バッテリーの状態管理機能を追加 “省エネルギー”環境設定パネルにバッテリーの状態が表示され、必要な場合はバッテリーの修理サービスが推奨されます バッテリーの状態管理を無効

                      Apple、バッテリー状態管理機能を追加した「macOS 10.15.5 アップデート」を配布開始
                    • Jotaiは手軽に使える状態管理ツール

                      株式会社パルケの手を動かすCTO、みつるです。 この記事は先日ツイートしたものを加筆修正したものとなります。 少し前まで、Reactの状態管理ツールはZustandがファーストチョイスでした。 今は考えが変わってJotaiがファーストチョイスとなっています。 以前、状態管理ツールの沼にハマって試行錯誤した経緯はこちらの記事に書きました。 この後、状態管理ツールに対する考えに変化があり、今は私にとってJotaiがファーストチョイスとなっています。 状態管理ツールの責務が軽減された TanStack Queryを積極的に使い始めてから、サーバーと同期するようなトランザクションデータはTanStack Queryのキャッシュ任せになりました。 そうすると、状態管理ツールが担っていた役割がどんどん少なくなっていきました。 結果として残ったのは、コンポーネントのPropsで受け渡しをするには面倒な、

                        Jotaiは手軽に使える状態管理ツール
                      • Recoil - Reactの新しい状態管理ライブラリ

                        Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                          Recoil - Reactの新しい状態管理ライブラリ
                        • 状態管理を構成する 3 つの要素とそれらが解決したい状態管理の課題

                          Flutter の UI は、状態 を定義し、それを build() メソッドで参照しながら「宣言的」に構築される設計になっています。 そしてその 状態をどのように参照し、どのように状態の変更を検知してリビルドするか という課題をひとことで 状態管理 と言い、その状態管理の手法にはさまざまな(覚えきれないくらいの)選択肢があることはご存じの通りかと思います。 ひとつひとつを独立した手法ととらえて理解しようとするととても難しく感じてしまいますが、それぞれの状態管理手法を眺めていると、だいたい大きく分けて以下の 3 つの要素で成り立っているように思えます。[1] ステート: 状態を保持するオブジェクト メンテナ: ステートを生成、変更するオブジェクト プロバイダ: ステートへアクセスする手段や変更を通知するオブジェクト この記事では、具体例として Riverpod パッケージを見ながらこの 3

                            状態管理を構成する 3 つの要素とそれらが解決したい状態管理の課題
                          • Recoilはグローバル状態管理ライブラリなのか

                            RecoilをReduxと同じ「グローバル状態管理ライブラリ」とまとめてしまうことに若干違和感があったので、自分なりに考えをまとめてみました。これらは何に対してグローバルなのか考えると、異なる特徴を持ったライブラリに思えるのです。 ReduxとRecoilの登場と背景 まずReduxやRecoilが登場した頃の課題感を、筆者なりにまとめてみます。 Redux Reduxの歴史は状態管理ライブラリの中では古く、2015年に初版が公開されました。ReduxはReactに依存してないので、他のViewライブラリやRedux単体でも採用可能でしたが、React・Reduxのセットは、フロントエンドに一貫した設計を設けることができるため高い人気を得ました。 筆者の主観ですが、Redux登場当時はReactの実装でバケツリレーをしないこと・複雑な状態を扱えることが多くのエンジニアの関心ごとだったように

                              Recoilはグローバル状態管理ライブラリなのか
                            • Reactの状態管理で悩む全ての人へ【2022年】 | ramble - ランブル -

                              こんにちは。株式会社インプルの平澤です。 Reactの状態管理(グローバルステイト)で迷われたこと、迷っていることはありませんでしょうか? そんな方々へReactの状態管理の有名ライブラリをご紹介致します。 はじめに 最初に言いますが、どの方法が良いかの正解はありません。「個人的な相性」・「開発チームの相性」・「パフォーマンス」など、どこに重点を置くかでも選択は変わってきます。 それを踏まえた上でご自身のベストプラクティスを見つけてみましょう。 本記事では 1. Zustand 2. XState 3. Jotai 4. Recoil 5. Redux 6. React Hooks(useContext + useReducer) のサンプルコードと使用感をまとめました。 選定理由 JavaScript Risingstars 2021 において状態管理ランキングで選出された上位5つ +

                              • React 状態管理ツールの沼にハマった話

                                2020年に、株式会社パルケのCTOに就任してから、Reactでいくつかのサービスを開発してきました。 状態管理ツールの選定に悩みに悩み、試しに試してブレまくってしまい、プロダクトでどのように状態管理ツールを使っていくのか混沌としてしまっていた時期がありました。 その時期にプロダクト開発に携わっていただいて、いろいろ混乱させてしまった開発メンバーの方には、この場を借りてお詫びしたいと思います。 なお、この記事は当時の個人の体験・印象に基づくものであり、事実とは異なる場合、現状とは異なる場合があります事をご了承ください。 状態管理ツールに求める事 コンポーネント間のデータの受け渡しをPropsを介在せずにできる事、データの変更に応じて関連するコンポーネントの再描画する事の2点だと思います。 これらはどの状態管理ツールでも問題なく実現できますので、選定にあたってはそれ以外の開発体験(という開発

                                  React 状態管理ツールの沼にハマった話
                                • Reactの状態管理はReduxの独走状態、2位は大きく離れてswrとreact-queryが競り合い中・・ - Qiita

                                  Reactの状態管理はReduxの独走状態、2位は大きく離れてswrとreact-queryが競り合い中・・ReactreduxSWRRecoilreact-query 2021/09/24 追記 これまでは状態管理にReduxやVuexなどの状態管理用ライブラリを使いますが、Graphqlを採用した場合にApollo Clientを利用することでフロントエンドの状態管理の実装がかなり楽になります。 追記終了 2021/01/17 追記 2020年版 満足度ランキング State of JS 2020: JavaScript Flavors https://2020.stateofjs.com/ 最近よく聞く状態管理 pmndrs/jotai: 👻 Primitive, flexible state management for React https://github.com/pmnd

                                    Reactの状態管理はReduxの独走状態、2位は大きく離れてswrとreact-queryが競り合い中・・ - Qiita
                                  • Catalinaアップデートの「バッテリー状態管理」はMacBookのバッテリー寿命をどう延ばすのか

                                    macOS Catalina 10.15.5から、MacBook搭載バッテリーの耐用年数(寿命)を延ばす「バッテリー状態管理」機能が追加されている。 バッテリー状態管理は、リチウムイオンバッテリーの化学的経年劣化の進行を遅らせて、その耐用年数を延ばすことを狙いとした機能で、バッテリーの温度の履歴や充電バターンを観察して、その目的を果たす。 バッテリー状態管理のモード中は、収集した測定値に基づいて、バッテリーの最大充電量が抑えられる場合がある。 これは、バッテリーが日頃の利用状況に即して最適な量だけ充電されるように適宜行われるもので、バッテリーの損耗を抑え、化学的経年劣化を遅らせる。

                                      Catalinaアップデートの「バッテリー状態管理」はMacBookのバッテリー寿命をどう延ばすのか
                                    • 【React】状態管理でuseContextとRecoilを試してみた。

                                      概要 Reactにおける状態管理といえば、通常親コンポーネントから子コンポーネントにデータを渡す際はpropsを介して行います。ただ階層が深くなるごとに、バケツリレーのように受け渡していく方法では、管理が大変になってしまい、それを解決するために、ReactにはuseContextというReactHooksがあります。 今回は、RecoilというMeta社(旧Facebook)が開発しているReactの状態管理ライブラリらしく昨年から??あったのかシンプルで使いやすそうなのでちらっと見てみた。 useContextとRecoilとの違いは? そうなってくると気になるのがuseContextとRecoilとの違いです。 useContext こちらはReactから提供されているReact純正のReactHooks。 基本的な使い方はuseContextもRecoilも似てるなーと思っていました

                                        【React】状態管理でuseContextとRecoilを試してみた。
                                      • トップダウン型の状態管理 (#Redux #Zustand )と比較して知るボトムアップ型の状態管理 (#Recoil #Jotai )

                                        はじめに この記事はJotai公式ドキュメントのbottom-up approachというワードをきっかけに、Reactの状態管理におけるトップダウンとボトムアップとは何なのかを整理したいという個人的な思いで書いています。 Jotai takes a bottom-up approach to React state management with an atomic model inspired by Recoil. トップダウン型について そもそもトップダウンという言葉はどこで登場するのか Reactの公式ドキュメントではtop-downという言葉が以下のように登場します。 このデータフローは一般的には “トップダウン” もしくは “単一方向” データフローと呼ばれます。いかなる state も必ず特定のコンポーネントが所有し、state から生ずる全てのデータまたは UI は、ツリー

                                          トップダウン型の状態管理 (#Redux #Zustand )と比較して知るボトムアップ型の状態管理 (#Recoil #Jotai )
                                        • Flutterの状態管理とViewの更新

                                          こんにちは。モバイルクライアントグループの若宮(id:D_R_1009)です。 最近スタンディングデスクを導入しました。業務時間中はずーっとスタンディング状態で、疲れたら業務終了な感じでやってます。 スタディプラスでは一部のプロダクトでFlutterを採用しています。 社内では私がFlutterの開発経験が一番多く、また長くなっているので技術選択などを行っています。 先日、新たにFlutterのアーキテクチャを選びなおす機会がありました。 アーキテクチャを比較するにあたり、社内向けに書いたブログを一部編集して公開します。 はじめに StatelessWidget StatefulWidget StatefulWidgetにmixinするObserver Viewを更新するController Provider (InheritedWidget) InheritedWidgetとは Prov

                                            Flutterの状態管理とViewの更新
                                          • Nuxt3のComposablesとuseStateと状態管理 - くらげになりたい。

                                            Nuxt3をいろいろ試していたときの備忘録。 Vuexが含まれなくなり、ComposablesやuseStateの登場で、 大きく変わっている印象。 composablesディレクトリとは? auto-importしてくれるディレクトリのひとつ Nuxt 3 - Composables directory Composablesな関数を配置するディレクトリ vuexがなくなり、useStateを使った状態管理が推奨 Nuxt 3 - State Management Nuxt 3 - useState Composablesとは? Vue3のドキュメントだとこのあたり。 ・Composables | Vue.js In the context of Vue applications, a "composable" is a function that leverages Vue Compo

                                              Nuxt3のComposablesとuseStateと状態管理 - くらげになりたい。
                                            • 【Next.js】コンポーネントと状態管理のファイル分割と設計

                                              はじめに 今までは実装方法がわからず調査し試行錯誤して実装できた方法を書いたりしていましたが、 今回は実装自体はできているが、より良い実装はないか?という方向性で書いてみたいと思います。 書いていく内容は Next.js で実装された一覧と検索機能を持った画面のコンポーネントと状態管理のファイル分割と設計についてです。 自分は Next.js(React) については書き始めて1年位で、仕事では書いたことなく他PJの構成をほぼ知らないですが、一旦自分の中の設計が落ち着いたので書こうと思った次第です🙏 解説するページ 今回解説するページは自分が実装しているサイトのツイッターの呟き一覧をキャラとLPで検索できるページです。 このページの新旧のファイル構成や状態管理の設計について解説していきます。 旧 まず、旧設計のファイル構成を紹介します。 components common details

                                                【Next.js】コンポーネントと状態管理のファイル分割と設計
                                              • Zustandって大規模な状態管理に使えるの?Zustand-Slicesを作ったワケ

                                                個人的にはJotaiの方が大規模開発に向いているのではないかと思うのですが、現状だと大規模開発にはZustandの方が優勢のようです。 質問は「大規模」ではなく「複雑」なので、正確性に欠けますが。 個人的に大規模に向かないと思った一つの理由はSlicingの対応です。もともと、Slicingの仕組みはZustandには備わっておらず、コミュニティによって発展した使い方です。JSの場合はそれほど困らないのですが、TSの場合は型づけが複雑でドキュメントになってはいるものの、自分ではあまり使う気になりません。また、Slicingする場合は、各Sliceが独立するようにNamespacingするのが一般的だと思いますが、それもできません。 Namespacingはだいぶ以前に求められてきた機能ですが、仕組みが複雑になりがちなのと、実現方法が複数あることから、Zustand本体では対応しないことにし

                                                  Zustandって大規模な状態管理に使えるの?Zustand-Slicesを作ったワケ
                                                • Tauri でのオレオレ UI 状態管理とコンフィグ管理 v1 - Qiita

                                                  はじめに GUI アプリにおいては、あらゆる面におけるステート・コンフィグ管理が欲しくなる時がある。 言語設定や Dark/Light テーマ設定などの設定に加え、アプリ終了時にどのページを開いていたかなどを永続保存しておきたい事も多い。 Tauri にはそうした状態管理を行う専用のモノはないが、案内はある。 しかしながら、実際にはどういったコードに落とし込んでいればいいかを模索するため、現時点ではベースはこうしておいたほうがいいかな?みたいなのを残しておきたく思った。 環境 Windows 11 Pro 23H2 Rust 1.74.1 Tauri 1.5.3 TypeScript 5.0.0 Svelte 4.2.7 サンプルパッケージ Tauri でのステート管理の基本 Tauri ではスタートアップ時に .manage(state) で追加することで、フロントエンドとバックエンド両

                                                    Tauri でのオレオレ UI 状態管理とコンフィグ管理 v1 - Qiita
                                                  • Reactでオブジェクト指向やってみる #状態管理ライブラリ一切不要

                                                    オブジェクト指向を取り入れると 『可読性』『拡張性』『汎用性(=ひいては保守性)』 の三大柱(自称)が担保され、現場でドヤれる メソッド名やメンバ変数名が1~2単語で済む #ポリモーフィズム 主語.動詞(補語 | 目的語) S+V+C、S+V+O の形になる 例1: $(A).appendTo(B) 例2: user.name: string 例3: user.birthday: Date // 2021/01/02 例4: user.getAge(): number // ${3}歳 wonderful!! ツリー状のオブジェクト 例5: user.posts[n].likes[n].createdBy: User Aの投稿にイイネしたBさん 例6: user.posts[n].comments[n].likes.length コメントにイイネされた数 例7: user.posts[n]

                                                      Reactでオブジェクト指向やってみる #状態管理ライブラリ一切不要
                                                    • React Nativeにおける状態管理サバイバルガイド

                                                      エンジニアに「状態管理うまくいってますか」という言葉を投げつけるのは、心に深い傷を刻む結果になると一般に知られています。 宣言的UIの流行により、GUIアプリケーションにおける支配者は状態(データ)となり、表示コンポーネントは状態の落とす影に過ぎない存在となりました。これにより「開発者は状態管理だけをうまくやればいい」という仕組みが出来上がるのですが、我々は次の現実に直面することになります。そもそも状態管理をうまくできない、と。 私がウェブ技術を17年間触れてきた中で、状態管理というのは最も難しい技術に分類されると感じています。そしてウェブ技術をベースにしているReact Nativeではその問題が直撃します。 密結合にすると変更に対して硬直化する、疎結合にすると流れが把握できなくなる、綺麗にするために状態管理ライブラリを入れたのに逆に散らかってきた、公式サイトに書いてある方法でやっても改

                                                        React Nativeにおける状態管理サバイバルガイド
                                                      • Reactの最強状態管理ツールreact-queryがメジャーリリースされたぞ! - Qiita

                                                        react-query とは? react-queryとは 2 月 18 日にメジャーリリースされたばかりの React プロジェクトにおける状態管理用のモジュールです。 ネット上に情報がまだ少ないため、一部抜粋しながら使い方と魅力についてまとめていきます。 時間があるときに追加していくのでまだ準備中が多いです。READMEがめちゃくちゃ分かりやすいのでそちらを見たほうが断然早いです。 tannerlinsley/react-query https://github.com/tannerlinsley/react-query 基本的な機能としては、Hooksを用いた データの取得(サーバの実装は REST でも GraphQL でも何でも ok) 自動キャッシュ 自動再取得 データの反映 → データの再取得 ページネーションにも対応 リクエストキャンセル です。 基本的にクエリに任意のqu

                                                          Reactの最強状態管理ツールreact-queryがメジャーリリースされたぞ! - Qiita
                                                        • React | Redux(Actions, Reducers, Store)による状態管理 - わくわくBank

                                                          Reduxによる状態管理の動作確認を行います。Actions, Reducers, Storeなどの役割を実際の処理を通じて確認します。 Reduxの3原則 動作確認をする前に、Reduxの3原則を復習しておきます。 https://redux.js.org/introduction/three-principles にてReduxの3原則が説明されいています。 Single source of truth State is read-only Changes are made with pure functions Reducerは純粋関数でなければならないなどのReduxを利用する上での注意点が述べられています。

                                                            React | Redux(Actions, Reducers, Store)による状態管理 - わくわくBank
                                                          • Reactの状態管理ライブラリJotaiのコアを27行のコードで表現してみました、ちゃんと動くんです

                                                            const atom = (initialValue) => ({ init: initialValue }); const atomStateMap = new WeakMap(); const getAtomState = (atom) => { let atomState = atomStateMap.get(atom); if (!atomState) { atomState = { value: atom.init, listeners: new Set() }; atomStateMap.set(atom, atomState); } return atomState; }; const useAtom = (atom) => { const atomState = getAtomState(atom); const [value, setValue] = useState(a

                                                              Reactの状態管理ライブラリJotaiのコアを27行のコードで表現してみました、ちゃんと動くんです
                                                            • Recoilは状態管理の選択肢ではなくなってしまった

                                                              TL;DR Recoilはもうメンテナンスされていない。理由は不明だが、このプロジェクトは死んでしまった。 メンテナンスされていないライブラリの使用はやめよう、別の選択肢を選ぼう Recoil Meta社が新規に作成した状態管理ライブラリです。この記事はRecoilの解説記事ではないので詳細は省きますが、大変な期待を抱くには十分なほど魅力的なパッケージでした。 ですが Recoilの現在のリポジトリを見ればわかると思いますが、半年以上前に更新が止まっています。 おそらく、recoilプロジェクトは凍結されました。 つまり、もう更新は期待できないということです。 どうしてこのような状況になったのか どこかの会社が所有しているOSSプロジェクトが凍結される理由は、ビジネス的な問題か、主要コントリビューターが会社を去った場合に起きると考えられます。そして、Metaは規模にかかわらずここ最近ニュー

                                                                Recoilは状態管理の選択肢ではなくなってしまった
                                                              • REST APIを型安全に呼び出し・状態管理ができるReact Hook「useAspidaCaller」を書いた

                                                                useAspidaCallerという、REST APIを型安全に呼び出し・状態管理ができるReact Hooksライブラリを書きました。 対象ユーザーはaspidaを使ってREST APIを型安全に実行しており、かつReactを使っている方です。 インストール ※最初@texmeijin/use-aspida-callerという命名でしたがよりシンプルなものに切り替えました 特長① ローディングやエラーなどのAPI呼び出しに関連する状態管理ができる useAspidaCallerを使うと、POSTやPUTといった更新系のAPIを型安全に叩けるとともに、ローディングやエラーといった状態管理も宣言的に実装できます。 const Sample = () => { const { put, isPutting, isPutSuccessful, putError, } = useAspidaCal

                                                                  REST APIを型安全に呼び出し・状態管理ができるReact Hook「useAspidaCaller」を書いた
                                                                • 非同期処理の隠蔽と状態管理

                                                                  アプリの設計が語られるときなど、非同期処理の状態管理がしっかり考慮されずにサンプルコードが書かれ解説されていることが多い気がするので、こうした方が良いんじゃないかというのを自分なりにまとめておきます。 一言で書くと、「非同期処理は隠蔽して、その状態を値で表現しよう」です。 なお、この記事での「非同期処理」は「メインスレッドから呼び出されて、別のスレッドで処理が実行されたり待ちが発生して、その完了や結果を遅延してメインスレッドで受け取るまでの一連の流れ」と捉えてもらえると良いと思います。 Viewが非同期処理の状態管理をしている例 例えば、通信処理のような非同期処理を想定して、非同期処理を開始して結果が返ってくるまではインジケータを表示したりUI操作をできなくしたいとします。以下のようなUIの流れです。 import SwiftUI // 非同期処理の結果 enum Result { cas

                                                                    非同期処理の隠蔽と状態管理
                                                                  • React Hooks 入門 - HooksとReduxを組み合わせて最新のフロントエンド状態管理手法を習得

                                                                    Vue.js Firebase Docker Gatsby などを抑え、なんと受講生の37.2%が次に学びたいと注目度の高い React Hooks 。複雑な状態管理をシンプルに且つ美しく実装するためのフロントエンド開発手法を身につけよう!

                                                                      React Hooks 入門 - HooksとReduxを組み合わせて最新のフロントエンド状態管理手法を習得
                                                                    • Flutter の 状態管理で Riverpod が公式の推奨には至っていない理由

                                                                      March 25, 2022 (個人的メモです。) Riverpod # Flutter における状態管理方法の選択肢は公式ページにも記載がある。 List of state management approaches | Flutter https://docs.flutter.dev/development/data-and-backend/state-mgmt/options シンプルに setState を使用する以外では Provider か Riverpod のパッケージを使うのが一般的。 Provider は Remi Rousselet さんが個人的に開発したパッケージだが、やがて公式にも認められ、現在は公式推奨のアプローチになっている。 この作者が Privider の改良版として作ったのが Riverpod になる。改良点は他の記事から引用させていただく。 Riverp

                                                                      • 【React】useContext✖️useReducerでグローバルな状態管理を実現する。 - Qiita

                                                                        まえがき ReactフックのuseContextとuseReducerを組み合わせて使えば、ReduxやRecoil等のライブラリを使わずにグローバル状態管理を実現することができる。本稿ではそれを実装するために必要な知識とコード例をまとめる。 参考記事 下記の記事がとても分かりやすくまとまっていました👏 前提 今回扱うuseContextとuseReducerはReactフックと呼ばれるものである。他にもいろいろある。 useContext 1箇所に定義されているデータを、複数箇所(コンポーネント)からグローバルに参照できるようにするReactフック(関数)。参照できるようにするだけであって、更新はできない。 useReducer 複雑な状態管理を実現するもの。単純な状態管理はuseStateで事足りる。 Reactフックとは 状態管理やライフサイクルのReact機能を、クラスを書かずに

                                                                          【React】useContext✖️useReducerでグローバルな状態管理を実現する。 - Qiita
                                                                        • ep.139『フレームワークの潮流は?状態管理はどうなった?UIフレームワークまで!UIT Survey 2022』 | UIT INSIDE

                                                                          @potato4d が @kazushikonosu に、 UIT Survey 2022 について話を聞いてみました。 https://engineering.linecorp.com/ja/blog/uit-survey2022-report 質問項目 How many times do you work remotely in an average week? 7割近くのエンジニアがほとんど毎日リモートで勤務しており、週3~4のリモートを含めると9割ほどのエンジニアがリモート中心で勤務しています。 Usage of UI frameworks 以前まで優勢だった Bootstrap とその派生の勢力が弱まり、 tailwind 系統が伸び続けている。以前として vanilla も根強い人気を誇っている。 Usage of library for React state managem

                                                                            ep.139『フレームワークの潮流は?状態管理はどうなった?UIフレームワークまで!UIT Survey 2022』 | UIT INSIDE
                                                                          • Unstated Nextで状態管理

                                                                            React Hooks以降、複数コンポーネント間の状態管理にはContextとuseReducerを組み合わせるのが一般的になっているようです。以前にこのブログ内でも取り上げました。 上記はプレーンなReactだけで実現できます。手軽な反面、コードが直感的にならない印象を受けます。Contextだけならともかく、useReducerを使うとReduxライクな記述にするか、または独自の書き方をするか、組む人に左右される部分もあります。 今回取り上げるUnstated Nextは、Reactコンポーネント間で状態を管理するライブラリです。これを使えばdispatchなどの概念は頭からポイできます🗑 yarn add unstated-next 以降、A・Bというコンポーネント間でフォームの状態値を取り扱う例を考えます。 createContainer まず必要なのは、状態を保管するConta

                                                                              Unstated Nextで状態管理
                                                                            • valtioで状態管理しながら、React Suspenseについて理解を深める | DevelopersIO

                                                                              こんにちは。データアナリティクス事業本部 サービスソリューション部の北川です。 今回は、状態管理にvaltioを使いながら、React Suspenseについて、理解を深めていきたいと思います。 React Suspenseとは React Suspenseとは、簡単にいうとコンポーネントがロードされるまでの「待機中」状態を提供できる機能になります。 Suspense for Data Fetchingは、データを含む他の何かを宣言的に「待機」するためにも使用できる新機能です。このページでは、データフェッチのユースケースに焦点を当てていますが、画像、スクリプト、またはその他の非同期作業を待機することもできます。 環境作成 Suspenseを使うための環境を作成します。 npx create-react-app sample-app --template typescript cd samp

                                                                                valtioで状態管理しながら、React Suspenseについて理解を深める | DevelopersIO
                                                                              • Vue.js の状態管理ライブラリ Pinia の使い方まとめ

                                                                                この記事は公式チュートリアルの内容、開発中に実際に困ったポイント、その解決方法などを中心にしつつ自分へのメモを主目的としてまとめていくものです。随時追記していきます。 ちなみにもう僕は Pinia 最高派です 🍍 Vuex と Pinia 2021 年終盤、これまで Vue 公式で推奨されていた状態管理ライブラリが Vuex から Pinia に変わりました。 例えば Vetur -> Volar は当時でも言われて久しい感じでしたけれど、Vuex に対する Pinia という名前はだいぶぽっと出だったので混乱した人も多いと思われます。 これまで Vue 3 に対して公式にサポートされていた状態管理ライブラリは Vuex 4 というものですが、これの次世代バージョン、つまり Vuex 5 の検討内容が Pinia の根底にあるものです。 …というのは実はやや語弊があり、実際には「新しい状

                                                                                  Vue.js の状態管理ライブラリ Pinia の使い方まとめ
                                                                                • 状態管理ライブラリ Jotaiの使い方

                                                                                  今回は React アプリケーションの状態管理ライブラリの中でも人気の高い "Jotai" の使い方を記事にしたいと思います。豊富な機能の中から本記事では以下の機能について記載しています。 atom, useAtom, useSetAtom, useAtomValue atomWithReset, atomWithLocation ( searchParams ) Read Only Atom, Write Only Atom Atom Creator 記事内に掲載しているソースコードは Github でも確認できます。 Jotai とは 🤔 Jotai は @dai_shi さんが作った React アプリケーションのための状態管理ライブラリです。軽量で使いやすく主に次のような特徴があります。 Atom(アトム)と呼ばれる小さな単位で状態を管理できる 使い方が直感的で、学習コストが低い

                                                                                    状態管理ライブラリ Jotaiの使い方