問題タブ [ngrx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - Angular2 周辺のアーキテクチャ パターン: Redux、Flux、React、Reactive、RxJS、Ngrx、MVI、
これらのライブラリ/フレームワークの名前はすべて、文字 R/N で始まるか、非常によく似ています。刺激は保証されています:
反応/還元 | フラックス | ngrx| @ngrx/ストア | RxJS/ReactiveX | MVI | ....
誰かがこの狂気を見抜くことができますか? 私が間違っている場合は、私を助けてください:
Reduxは、JavaScript アプリの「予測可能な状態コンテナー」であり、 Fluxの軽量実装です。私は言うことができます: これは Angular2 のフラックスの標準実装ですか? (ただし、 Angular2 を使用しない redux に関する優れた学習ビデオもあります。)
Fluxは、Facebook がクライアント側の Web アプリケーションを構築するために使用するアプリケーション アーキテクチャです。一方向のデータフローを利用することで、 React (ReactJS)の構成可能なビュー コンポーネントを補完しかしフラックスは単なるパターンであり、実装ではありません。
React (ReactJS)はAngular2 (angular.io)の主な競合相手ですが、フレームワークというよりは大きなライブラリです。
Reactive Extensions for JavaScript (RxJS)は、非同期データ ストリームを操作できるようにするリアクティブ ストリーム ライブラリです。それは反応宣言の目的を追求し
Angular2 には独自の Reactive Extensions があり、それらはNgrx (Angular2 の Reactive Extensions) と呼ばれます。
次に@ngrx/storeのようなものがあります。これは、Redux for Angular 2 アプリに触発された RxJS を利用した状態管理です。おっとデイジー!
Flux の代替として、André Staltz は、 Cycle.jsの基礎として使用する RxJS Observables に基づく単方向のModel-View-Intent (MVI) アーキテクチャを提示しました。Angular 2 には双方向のデータ バインディングの形式がありますが、データ フロー アーキテクチャは規定されていません。その売りの特徴の 1 つは、パターンにとらわれず、MVC または Flux アーキテクチャで動作することです。したがって、適切なパターンを選択するのは開発者次第です。>>ソース
typescript - TypeError: 不明な型が返されました
ngrx/effectsを使用しています。このエラーが発生しました:
元の例外: TypeError: 不明な型が返されました
これは私のコードの一部です:
何が原因でしょうか? ありがとう
angular - Httpが終了したときにAngular 2が発行して、その後別の関数を実行する
API に対して DELETE 呼び出しを行う一般的な機能があります。関数は次のようなものです。
さまざまな URL、アイテム、およびアクションを送信するいくつかの場所からこの関数を呼び出します。次のような関数があるとしましょう。
アイテムが API から削除されたら、別のアクションをトリガーしたい場合があります。たとえば、本棚を削除したので、私のグローバル ストアの本が変更されたかどうかを確認したい場合があります。
deleteBookcase
追加のアクションを時期尚早にトリガーする前に、HTTP 呼び出しと後続のアクションが完了したことを関数に知らせる簡単な方法はありますか?
typescript - When the page changes, what can trigger loading all store states?
I am using ngrx/store, ngrx/effects, and ngrx/router.
My effects are like this:
In the beginning, the store state is like this:
1) After running this.store.dispatch({ type: LOAD_ONE_PRODUCT });
, it becomes like this:
2) After running this.store.dispatch({ type: LOAD_ONE_WORKER });
, it becomes like this:
3) Next when I go to another PAGE,
And now {{store|async|json}}
shows:
All my states goes back to the initial state. Not only products
disappears, but also workers
disappears. (NOTE: workers
also disappears.)
(However, in Chrome Extention Redux Tools, the state tree shows correct all the time.)
If I add a button and manually use ChangeDetectorRef, do this._cdRef.detectChanges();
, {{store|async|json}}
still shows initial state. (So seems not related with zone)
However, if I dispatch some actions after, both products
and workers
will come back to the state. And {{store|async|json}}
shows correctly too.
Since in Chrome Extention Redux Tools, the state tree shows correct all the time. So I guess it just does not load correctly. My question is when the page changes, what can trigger loading all store states? Thanks