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