@ ngrx / storeでStateオブジェクトの現在の値を取得するにはどうすればよいですか?

フィリップグルーブ:

私のサービスクラスは、Webサービスを呼び出す前にdataForUpdate、自分の状態から呼び出されるプロパティを取得する必要があります現在、私は次のようにしています:

constructor(public _store: Store < AppState > ,
  public _APIService: APIService) {

  const store$ = this._store.select('StateReducer');

  .../...

  let update = this.actions$.filter(action => action.type == UPDATE)
    .do((action) => this._store.dispatch({
      type: REDUCER_UPDATING,
      payload: action.payload
    })) **
    * GET STATE ** *= => .mergeMap(action => store$.map((state: AppState) => state.dataForUpdate).distinctUntilChanged(),
      (action, dataForUpdate) {
        return {
          type: action.type,
          payload: {
            employee: action.payload,
            dataForUpdate: dataForUpdate
          }
        };
      }) *
    AND CALL API *= => .mergeMap(action => this._APIService.updateEmployee(action.payload.employee, action.payload.dataForUpdate),
      (action, APIResult) => {
        return {
          type: REDUCER_UPDATED
        }
      })
    .share();


  .../...

  let all = Observable.merge(update, ....);
  all.subscribe((action: Action) => this._store.dispatch(action));

}

次のガイドとして、angular2-store-example(https://github.com/ngrx/angular2-store-example/blob/master/src/app/users/models/users.ts)を使用しています。

より良い(よりクリーンな)方法が存在するかどうか疑問に思っていますか?

ライブの例:https : //plnkr.co/edit/WRPfMzPolQsYNGzBUS1g?p=preview

Sasxa:

@ ngrx / store v1.xの元の回答

@ngrx/storeBehaviorSubject拡張しvalue使用できるプロパティがあります。

this._store.value

それがアプリの現在の状態になり、そこからプロパティ、フィルター、マップなどを選択できます...

更新:

あなたの例で何が何であるかを理解するのにしばらくかかりました(:の現在の値を取得するにはdataForUpdate、次を使用できます:

let x = this._store.value.StateReducer.dataForUpdate;
console.log(x); // => { key: "123" }

@ ngrx / store v2.xの更新

バージョン2への更新により、ドキュメントでvalue説明されているように削除されました

最新の状態値をストアから同期的にプルするためのAPIは削除されました。代わりに、subscribe()状態値を取得する必要がある場合は、常に同期実行に依存できます。

function getState(store: Store<State>): State {
    let state: State;

    store.take(1).subscribe(s => state = s);

    return state;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

@ ngrx / storeでStateオブジェクトの現在の値を取得するにはどうすればよいですか?

分類Dev

ngrxストアの特定のオブジェクトを取得するにはどうすればよいですか?

分類Dev

ngrx-router-storeを使用してngrxエフェクト内のルートパラメータを取得するにはどうすればよいですか?

分類Dev

ngrxストアのselectからエラーを取得するにはどうすればよいですか?

分類Dev

ngRxの次のセレクターをブール値の戻り値に変換するにはどうすればよいですか?

分類Dev

ngrx / storeから退会するにはどうすればよいですか?

分類Dev

NGRX選択:選択は内部オブジェクトでどのように機能しますか?

分類Dev

ngrx/store を使用して角度の入力フィールドの値を変更するにはどうすればよいですか

分類Dev

2つ(またはそれ以上)の@ ngrx / storeアクションをキャッチし、それが発生するまでコンポーネントでサブスクリプションを保持するにはどうすればよいですか?

分類Dev

Angular 2のngrxエフェクトのパラメーターにアクセスするにはどうすればよいですか?

分類Dev

約束からアクションをトリガーするNgRx8エフェクトを作成するにはどうすればよいですか

分類Dev

ngrxストアからテンプレートに値を取得するにはどうすればよいですか?

分類Dev

ngrx-entityでエンティティのサブセットを更新するにはどうすればよいですか?

分類Dev

ngrx、APIから開始状態を取得するにはどうすればよいですか?

分類Dev

@ ngrx / storeを使用して状態を効果的にリセットするにはどうすればよいですか?

分類Dev

NGRXで認証ガードを使用するにはどうすればよいですか

分類Dev

ngrx / routerでrouterCanDeactivateを実行するにはどうすればよいですか?

分類Dev

Angular 6を使用してJasmineでngrx機能セレクターをユニットテストするにはどうすればよいですか?

分類Dev

@ngrx Angular @ ngrx / store-devtools InstrumentOnlyWithExtension

分類Dev

@ ngrx / entityを使用して、items配列を更新するにはどうすればよいですか

分類Dev

ngrxまたはngxsを使用すると、オブジェクトの不変性が自動的に取得されますか?

分類Dev

ストア内のオブジェクトのNgRxプロパティは常に未定義ですか?

分類Dev

2つのngrxエンティティをAngularで選択または結合するにはどうすればよいですか?

分類Dev

ngrx / storeセレクターはオブジェクトの代わりに関数を返します

分類Dev

ngrxと一緒に複数のデータを作成または削除するにはどうすればよいですか?

分類Dev

0の位置でJSONオブジェクト値を取得するにはどうすればよいですか?

分類Dev

Javascriptでオブジェクトの最初/最小値を取得するにはどうすればよいですか?

分類Dev

Javaでオブジェクトの値を取得するにはどうすればよいですか?

分類Dev

PHPで配列オブジェクトの値を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    @ ngrx / storeでStateオブジェクトの現在の値を取得するにはどうすればよいですか?

  2. 2

    ngrxストアの特定のオブジェクトを取得するにはどうすればよいですか?

  3. 3

    ngrx-router-storeを使用してngrxエフェクト内のルートパラメータを取得するにはどうすればよいですか?

  4. 4

    ngrxストアのselectからエラーを取得するにはどうすればよいですか?

  5. 5

    ngRxの次のセレクターをブール値の戻り値に変換するにはどうすればよいですか?

  6. 6

    ngrx / storeから退会するにはどうすればよいですか?

  7. 7

    NGRX選択:選択は内部オブジェクトでどのように機能しますか?

  8. 8

    ngrx/store を使用して角度の入力フィールドの値を変更するにはどうすればよいですか

  9. 9

    2つ(またはそれ以上)の@ ngrx / storeアクションをキャッチし、それが発生するまでコンポーネントでサブスクリプションを保持するにはどうすればよいですか?

  10. 10

    Angular 2のngrxエフェクトのパラメーターにアクセスするにはどうすればよいですか?

  11. 11

    約束からアクションをトリガーするNgRx8エフェクトを作成するにはどうすればよいですか

  12. 12

    ngrxストアからテンプレートに値を取得するにはどうすればよいですか?

  13. 13

    ngrx-entityでエンティティのサブセットを更新するにはどうすればよいですか?

  14. 14

    ngrx、APIから開始状態を取得するにはどうすればよいですか?

  15. 15

    @ ngrx / storeを使用して状態を効果的にリセットするにはどうすればよいですか?

  16. 16

    NGRXで認証ガードを使用するにはどうすればよいですか

  17. 17

    ngrx / routerでrouterCanDeactivateを実行するにはどうすればよいですか?

  18. 18

    Angular 6を使用してJasmineでngrx機能セレクターをユニットテストするにはどうすればよいですか?

  19. 19

    @ngrx Angular @ ngrx / store-devtools InstrumentOnlyWithExtension

  20. 20

    @ ngrx / entityを使用して、items配列を更新するにはどうすればよいですか

  21. 21

    ngrxまたはngxsを使用すると、オブジェクトの不変性が自動的に取得されますか?

  22. 22

    ストア内のオブジェクトのNgRxプロパティは常に未定義ですか?

  23. 23

    2つのngrxエンティティをAngularで選択または結合するにはどうすればよいですか?

  24. 24

    ngrx / storeセレクターはオブジェクトの代わりに関数を返します

  25. 25

    ngrxと一緒に複数のデータを作成または削除するにはどうすればよいですか?

  26. 26

    0の位置でJSONオブジェクト値を取得するにはどうすればよいですか?

  27. 27

    Javascriptでオブジェクトの最初/最小値を取得するにはどうすればよいですか?

  28. 28

    Javaでオブジェクトの値を取得するにはどうすればよいですか?

  29. 29

    PHPで配列オブジェクトの値を取得するにはどうすればよいですか?

ホットタグ

アーカイブ