5

NGXS@Selectデコレータを使用する場合、状態モデルで定義されたプロパティにアクセスする正しい方法は何ですか?

たとえば、次の状態が定義されています。

export interface UserStateModel {
 firstname: string;
 lastname: string;
}

@State<UserStateModel>({
  name: 'user',
  defaults: {}
})
export class UserState {..}

コンポーネントで、次のようにユーザー状態を選択したい場合:

..export class MyComponent {

  @Select(UserState) user$: Observable<UserState>;

   ngOnInit(){
     this.user$.subscribe(u => {
         //do something with user state
         console.log(u.firstname);
     });
   }   
}

firstnameプロパティが存在しないためUserState(関連するモデルタイプで定義されているため)、タイプスクリプトエラーが発生します。コンポーネントの HTML テンプレートでプロパティを参照している場合、問題はありません。

セレクターの使用法に関する関連する議論がありますが、現在のバージョンで何が期待できるかを確認したいだけです (そして、これを正しく行っているかどうか!)。

私は使用しています"@ngxs/store": "^3.0.0-rc.2",

4

3 に答える 3