To jest powtarzający się problem z React. Metoda componentDidMount
gwarantuje, że zostanie uruchomiona, gdy komponent zostanie wyrenderowany po raz pierwszy, więc wydaje się naturalnym miejscem do wykonywania pomiarów DOM, takich jak wysokości i przesunięcia. Jednak wiele razy otrzymuję błędne odczyty stylu w tym momencie cyklu życia komponentu. Komponent jest w DOM, kiedy zerwam z debuggerem, ale nie jest jeszcze pomalowany na ekranie. Problem pojawia się w przypadku elementów, których szerokość/wysokość jest ustawiona na 100%. Kiedy wykonuję pomiary w componentDidUpdate
- wszystko działa poprawnie, ale ta metoda nie uruchomi się przy początkowym renderowaniu komponentu.Kiedy dokładnie jest uruchamiane `componentDidMount`?
Moje pytanie brzmi - kiedy dokładnie zostanie wyrzucony componentDidMount
, ponieważ po uruchomieniu wszystkich przeglądarek nie wyszedł na jaw.
EDIT: This Stackoverflow issue dotyczy tego samego tematu:
odwołuje się również this github conversation który wyjaśnia, co dzieje
To wydaje się istotne: http://stackoverflow.com/questions/25371926/using-react-how-can-i-get-the-width-of-an-auto-sized-dom -element – lux