ç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.
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