Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Storeで扱う状態のライフサイクル

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 Storeで扱う状態のライフサイクル

Avatar for Masayuki.A

Masayuki.A

July 29, 2019
Tweet

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 • 浅沼 昌幸 (Masayuki Asanuma) • Twitter : @as_masa

    • Fringe81株式会社 • 広告プロダクト系エンジニア • React, TypeScript, Elm, Scala • 今年からReact始めました
  2. Storeを擬似コードで表現してみる 4UPSF ΞϓϦέʔγϣϯ ঢ়ଶ 5PQϖʔδ ঢ়ଶ 4UPSF ΞϓϦέʔγϣϯ ঢ়ଶ Ϣʔβ

    ϖʔδঢ়ଶ ページ遷移 4UPSF ΞϓϦέʔγϣϯ ঢ়ଶ Ϩϙʔτ ϖʔδঢ়ଶ ページ遷移 class ApplicationData { user: string; } const applicationData = new ApplicationData(); class TopPage {} // Store { applicationData: applicationData, page: new TopPage() }; class User {} class UserPage { users: User[]; } // Store { applicationData: applicationData, page: new UserPage() }; class Report {} class ReportPage { reports: Report[]; } // Store { applicationData: applicationData, page: new ReportPage() };
  3. 状態管理の悩みへの回答1 • 1Store=1モデル vs 1Store=複数モデルどっち︖ • ライフサイクルで纏められるので、Fluxのみでも 1Store=複数モデルにしたい • Storeが肥⼤化する

    • ライフサイクルを考える • ライフサイクルに沿って、必要な状態を保持する ようになっていれば問題なし • ライフサイクル外の状態を持っていれば⻩⾊信号