2017-03-23 12 views
5

私はいくつかのアクションをディスパッチせずに、またはアクションがディスパッチされたときに呼び出されないいくつかのエフェクトをアプリケーションに持っています(ngrx effect not being called when action is dispatched from component参照)。ngrxストア、アクション、およびエフェクトのデバッグまたは検査はどのように可能ですか?

ngrxストア、アクション、およびエフェクトをデバッグする方法を知りたいと思います。

私の環境では、ngrxのタイプシートソースが利用できないため(入力のみが利用可能です)、ストアとエフェクトで何が起こっているのかを知る他の方法はありますか?

P.S. devストアツールは、レデューサーによって引き起こされた変更を見ることしかできないようです。

+0

これは非常に便利なツールです:https://github.com/zalmoxisus/redux-devtools-extension – balteo

答えて

1

あなたが発見したように、redux devtools拡張機能は、ngrxのストアアクティビティを監視する便利な方法です。ただし、すべてのは、ngrxエフェクトによって生成されたアクションを含めて、リデューサがストアを更新するかどうかにかかわらず送出されます。あなたが効果から派遣された行為を見ていないなら、何かが彼らの派遣を妨げる問題です。

ngrxエフェクトやストア購読を含む、一般的に観察可能なチェーンを一時的にデバッグする簡単な方法は、動作していないコードの前後にある.do()オペレータを使用する方法です。その周囲のコードの流れを混乱させることはなく、ロギングをトレースしたり、検査のためにブレークポイントを追加することができます。

カスタム演算子で.do()をラップする人もいますが、手作業でそれらを手書きで書くのを避けるために、演算子間の挿入を自動化しようとする試みもあります。私はそれを単純なままにしておき、特定のブロックをデバッグするときに一時的にそれらを一時的に挿入するのが好きです。

関連する問題