NgRx component と component-store について / mini-ng-japan-2020
by
Wataru KASAHARA
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
と について 笠原 渉
Slide 2
Slide 2 text
笠原 渉 株式会社 フロントエンドエンジニア 日本ユーザー会
Slide 3
Slide 3 text
アジェンダ とは何なのか? どうやって使うのか? とは何なのか? どうやって使うのか?
Slide 4
Slide 4 text
とは でリアクティブアプリケーションを構築するための ライブラリ に がリリース で複数のパッケージを管理してる で な状態管理を実現するため のパッケージがメインだった 今年も新しいパッケージが追加されたのでそれらを 紹介
Slide 5
Slide 5 text
で追加 と異なりコンポーネントの状態管理に特化したライブラリ コンポーネントのライフサイクルに紐付けられていてコンポーネントが破棄されると 状態が される
Slide 6
Slide 6 text
のメリットとトレードオフ メリット はコンポーネントツリー内の特定のノードに紐付いているためそ のノードが破棄されると自動的にクリーンアップされる 状態は各 で完結しているため、同じコンポーネントでも独立した インスタンスを持つことが可能 トレードオフ と比較して コンポーネントとの結合度は高いのでスケーラビリティが低い 一部 は使えない
Slide 7
Slide 7 text
と どちらを使うか? どちらかが優れている、というものではない アプリケーションの性質に合う方を使う 場合によっては両方使うこともある 決定するための指標 アプリケーションの規模 状態の寿命 アプリケーション自体の寿命
Slide 8
Slide 8 text
使い方 簡単なカウンターアプリを想定
Slide 9
Slide 9 text
使い方 簡単なカウンターアプリを想定 型の を管理するため の型を定義
Slide 10
Slide 10 text
使い方 簡単なカウンターアプリを想定 型の を管理するため の型を定義 型の を継承した を用意 で状態の初期化
Slide 11
Slide 11 text
使い方 状態は というセレクタを使うこ とで簡単に読み取りができる の引数に任意の を 指定することで状態を自由に し て返すことが可能
Slide 12
Slide 12 text
使い方 使う際に へ の登録はコンポーネントで行う コンポーネントのノードごとに のインスタンスがシングルト ンになる ※ のインスタンスがコン ポーネントのインスタンスごとにシングルト ンになるのは依存性注入の方法によるも の で調べてみよう
Slide 13
Slide 13 text
使い方 使う際に へ の登録はコンポーネントで行う コンポーネントのノードごとに のインスタンスがシングルト ンになる 状態の読み取り方は他のサービス同 様
Slide 14
Slide 14 text
使い方 状態は以下のどちらかを使うことで更新ができる
Slide 15
Slide 15 text
使い方 は現在の状態を引数にとる を渡す
Slide 16
Slide 16 text
使い方 は引数に または の パターンを取ることができ る として を受け 取ったとき内部で が呼び出 され、状態が更新される
Slide 17
Slide 17 text
使い方 の中身を見てみる
Slide 18
Slide 18 text
で追加 なアプリケーションを実現するためのライブラリ 提供される機能は つ This package is still experimental and may change during development.
Slide 19
Slide 19 text
の代替 でも でもどちらで も動作する
Slide 20
Slide 20 text
特徴 の代替 でも でもどちらでも動作する との比較 は重い動的なインタラクティブな だと の変更検知にパフォー マンス低下の懸念がある は がなくても動くためこの問題が解決できる
Slide 21
Slide 21 text
使い方 のように書くだけで同じように使える で を無効にしても は変わらず動作する
Slide 22
Slide 22 text
な値を にバインドするためのディレクティブ を使わない右のように書 く な値をバインドする場合は が必要 しかし は な場合描画がされ ない 右の場合は 後に が 更新されるまで が描画されない
Slide 23
Slide 23 text
な値を にバインドするためのディレクティブ を使うと右のようになる は な場合でも描画され る 右の場合は 後に が 更新される前でも は描画される
Slide 24
Slide 24 text
デモ
Slide 25
Slide 25 text
まとめ とは との違い 使い方 まだ な機能 と の つが提供されている のどちらでも動作する
Slide 26
Slide 26 text
参考リンク 公式ドキュメント サンプル