Я только что посмотрел на это обсуждение setState()
внутри componentDidMount()
.
Вы можете видеть, что после функции
render()
функцияcomponentDidMount()
будет вызываться React. Когда вы помещаетеsetState()
вcomponentDidMount()
тогда вы вызываете перерисовку всего дерева компонентов, а не только текущего компонента - не забывайте, что текущий компонент только что закончил рендеринг.
И некоторые люди предлагали поставить setState()
внутри componentWillMount()
. В некоторых случаях я хочу получить высоту визуализированного элемента и сохранить его как состояние, и вышеуказанный метод не будет работать. Я также взглянул на официальный сайт React, и он предлагает сделать Ajax-вызов внутри componentDidMount()
, что опять-таки идет вразрез с вышеуказанной идеей.
Итак, я ошибаюсь, помещая setState()
в componentDidMount()
? Если да, что я должен применить в качестве альтернативы?