çağrılmıyor React/Mobx uygulamasına sahibim. Depoda değişiklik yaptığımda, bileşen güncelleniyor (yeniden oluşturuluyor), ancak biraz daha fazla işlevsellik eklemek için bazı karşılaştırmalar yapmam gerekiyor, bu yüzden componentWillReceiveProps (nextProps) kullanmak istiyorum ve nextProps öğesini this.props ile karşılaştırmak istiyorum. Her nasılsa çağrılmadı. Herhangi bir fikir, yanlış yaptığım şey, ya da bunu yapmak için başka neler yapabilirim?React/Mobx - bileşeni yeniden oluşturuluyor, ancak componentWillReceiveProps()
5
A
cevap
1
tl; dr: componentWillUpdate
ve componentDidUpdate
geçirilen nesne deposu bir prop asla değişeceği gibi, hatta içerik değişiklikleri kullanın. @observable kullanmanın hilesi, prodüksiyonu değiştirmeden, bileşendeki güncellemeyi tetikleyeceğidir. Bu nedenle, componentComponentUpdate, componentWillReceiveProps ve componentDidReceiveProps gibi yaşam döngüsü işlevlerini kullanmak, bileşen ya da durum değiştiğinde tetiklendiğinden dolayı çalışmayacaktır. Mobx doc, shouldComponentUpdate bölümünde iyi açıklıyor.
Gözlemlenebilir bir güncellemeyi yakalamak için, yaşam döngüsü yığınında biraz daha derine gitmeli ve componentWillUpdate
ve componentDidUpdate
'u kullanmalıyız.
İlgili konular
- 1. componentWillReceiveProps
- 2. ViewPager parçaları yeniden oluşturuluyor, ancak görünür değil
- 3. log4net günlüğü oluşturuluyor ancak boş bırakılıyor
- 4. çağıran setState yeniden oluşturulmuyorsa bileşeni
- 5. Cassandra node - yeniden oluşturuluyor v.s. onarım
- 6. vsnet projenizde ne tür yeniden paylaşımlı yeniden dosya oluşturuluyor?
- 7. Tepki bileşeni değiştirildikten sonra yeniden oluşturulmuyor
- 8. Hazırda bekleme tablosu oluşturuluyor ancak giriş oluşturmuyor mu?
- 9. Bileşeni
- 10. Parça yeniden oluşturuluyor ve varolan veri kümesine geri dönüyor
- 11. Yeniden oluşturuluyor ve oluştururken tarayıcı tarafından px'e dönüştürülüyor mu?
- 12. OptionsResolver bileşeni
- 13. Deve: "dosya" bileşeni, ancak sadece dosya adı olarak geçiyor
- 14. Knitr raporları oluşturuluyor
- 15. anahtar bir ürün oluşturuluyor
- 16. Tepki bileşeni onClick olayından sonra yeniden oluşturulmuyorClick olay
- 17. Bir tepkisel bileşeni, dekoratörlerle nasıl salt işlev olarak yeniden yazarım?
- 18. Geri sayım bileşeni: Angular2'de yeniden oluşturma nasıl önlenir?
- 19. Tepki: Bileşeni yeniden işlemek için üst öğesini çağırması gerekiyor
- 20. Otomatik olarak resimleri yeniden boyutlandırmak için yeniden boyutlandırın ancak uzatmayın
- 21. Angular2 bileşeni
- 22. oluşturuluyor 3D CAPTCHA [pic]
- 23. Logback logger program aracılığıyla oluşturuluyor
- 24. bileşeni ThemedDBGrid
- 25. URL asp.net'de Yeniden Yazma ancak orijinal url
- 26. Devre after_sign_in_path_for çalışır, ancak yeniden yönlendirme gerçekleşmez.
- 27. BackgroundWorker bileşeni hizmetlerde
- 28. Nancyfx'teki modüller her istekte gerçekten oluşturuluyor mu?
- 29. HTML dosyasından Excel dosyası oluşturuluyor
- 30. iOS'ta Huni Grafiği Oluşturuluyor mu?
kodunuzu buraya yapıştırın, lütfen –
Şuna bakın: https://github.com/mobxjs/mobx-react/issues/281 – robertklep
Ve özellikle de ** urugator ** açıklamasında. https://github.com/mobxjs/mobx-react/issues/281#issuecomment-309410018 – felixmosh