コンテンツにスキップ

状態管理@フロントエンドアーキテクチャ

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. 状態管理とは

UIレンダリングに必要なデータを保持し、またユーザー操作や通信処理結果に応じて非同期に変更すること。

フレームワーク/パッケージ 状態管理関数
React useStateuseReduceruseRefuseContext
Vue.js refreactivecomputedwatch
Next.js (Reactと同じ) useStateuseReduceruseRefuseSyncExternalStoreuseContext
Nuxt.js (Vue.jsと同じ) refreactivecomputedwatch


02. MVPアーキテクチャ

MVPアーキテクチャとは

以下の要素が該当のロジックをもつ。

  • View:UIレンダリングロジック、CSSスタイリングロジック
  • Presenter:状態管理ロジック
  • Model:機能モデル


03. MVVMアーキテクチャ

MVVMアーキテクチャとは

以下の要素が該当のロジックをもつ。

  • View:UIレンダリングロジック、CSSスタイリングロジック
  • ViewModel:状態管理ロジック
  • Model:機能モデル

ViewとModelの間にViewModelを配置し、ViewとViewModelの間で双方向にデータをやり取り (双方向データバインディング) する。

これによって、ViewとModelの間を疎結合にする。

Vue.jsでは、意識せずにMVVMアーキテクチャで実装できるようになっている。

一般的なMVVMアーキテクチャ


状態管理との関係性

以下の状態管理を使用している場合、MVVMアーキテクチャで構築することになる。

  • CSR


04. Fluxアーキテクチャ

記入中...


05. Reduxアーキテクチャ

記入中...