Questo è un problema ricorrente che ho con React. Si garantisce che il metodo componentDidMount
venga attivato quando il componente viene sottoposto a rendering per la prima volta, quindi sembra un luogo naturale per prendere misure DOM come altezze e offset. Tuttavia, molte volte ricevo letture di stile errate a questo punto del ciclo di vita del componente. Il componente è nel DOM, quando si interrompe con il debugger, ma non è ancora stato dipinto sullo schermo. Ottengo questo problema con elementi che hanno larghezza/altezza per lo più al 100%. Quando eseguo le misurazioni in componentDidUpdate
- tutto funziona correttamente, ma questo metodo non verrà attivato al rendering iniziale del componente.Quando viene eseguito esattamente `componentDidMount`?
Quindi la mia domanda è - quando è esattamente componentDidMount
sparato perché ovviamente non viene attivato dopo che tutte le vernici del browser sono state fatte.
EDIT: offerte This Stackoverflow issue con lo stesso soggetto:
Si fa inoltre riferimento this github conversation che spiega cosa succede
Questo sembra rilevante: http://stackoverflow.com/questions/25371926/using-react-how-can-i-get-the-width-of-an-auto-sized-dom -elemento – lux