2017-03-23 30 views
5

Uygulamamla bir eylem gönderilmediğinde bazı eylemleri veya bazı etkileri göndermeyen bir sorunla karşılaşıyorum (bkz. ngrx effect not being called when action is dispatched from component).ngrx deposunu, eylemlerini ve efektlerini ayıklamak veya denetlemek nasıl mümkün olabilir?

ngrx deposunu, eylemlerini ve etkilerini nasıl ayıklayacağımı bilmek isterim.

ngrx için typescript kaynakları benim ortamımda mevcut olmadığından (yalnızca yazımlar mevcut gibi görünüyor), mağazada ve efektlerde neler olduğunu bilmek için başka yollar var mı?

P.S. Dev mağaza araçları, yalnızca redüktörlerin neden olduğu değişiklikleri görmeye izin veriyor gibi görünüyor.

+0

Bu çok kullanışlı bir araçtır: https://github.com/zalmoxisus/redux-devtools-extension – balteo

cevap

1

Keşfettiğiniz gibi, redux devtools eklentisi de ngrx'te mağaza etkinliğini izlemenin kullanışlı bir yoludur. Bununla birlikte, ngrx efektleri tarafından yayılanlar da dahil olmak üzere tüm tüm kayıtlı eylemleri, redüktörlerin mağazada güncelleme yapıp yapmamaları konusunda hareket edip etmediklerini kaydeder. Etkilerden gönderilen eylemleri görmüyorsanız, başka bir şey onların gönderilmesini engelleyen bir sorundur. Nugx efektleri ve mağaza abonelikleri de dahil olmak üzere genel olarak gözlemlenebilir zincirleri geçici olarak ayıklamanın basit bir yolu .do() operatörlerinin çalışmakta olduğu görünmeyen koddan önce ve/veya sonra gerçekleşmesidir. Çevresindeki kod akışını bozmaz ve izleme için iz bırakmanızı veya kesme noktaları eklemenizi sağlar.

Bazı insanlar özel operatörleri .do() günlüğü sarmak ve hatta yere ateş yazma elle önlemek için izleme için operatörler arasındaki .do() ekleme otomatikleştirmek için çabalar da vardır. Basit tutmayı ve belirli blokları hata ayıklaması IMHO kadar kötü olmadığında bunları manuel olarak eklemeyi seviyorum.