O setState () dentro de componentDidMount () é considerado um antipadrão
Acabei de dar uma olhadanesta discussão sobresetState()
dentrocomponentDidMount()
.
Você pode ver que após orender()
função, ocomponentDidMount()
A função será chamada por React. Quando você coloca umsetState()
ligarcomponentDidMount()
você está fazendo com que toda a árvore de componentes seja renderizada novamente, não apenas o componente atual - para não esquecer, o componente atual acabou de terminar a renderização.
E algumas pessoas sugeriram colocarsetState()
ligue para dentrocomponentWillMount()
. Em alguns casos, quero obter a altura de um elemento renderizado e armazená-lo como state, e o método acima não funcionaria. Também dei uma olhada no site oficial do React e sugere fazer uma ligação do Ajax dentrocomponentDidMount()
, o que contraria novamente a idéia acima.
Então, eu estou errado em colocarsetState()
dentrocomponentDidMount()
? Se sim, o que devo aplicar como alternativa?