я иду через Codecademy Реагировать JS курс: https://www.codecademy.com/courses/react-102/lessons/mounting-lifecycle-methods/exercises/componentdidmountоповещения вызывается в React JS componentDidMount метод Жизненный цикл всплывает до первоначального рендеринга, а не после
Урок объясняет основы React жизненного цикла методы монтажа, упорядоченные в следует: componentWillMount -> render -> componentDidMount.
Это codepen демонстрирует проблему: http://codepen.io/PiotrBerebecki/pen/vXyYKP
Вопрос заключается в том, что в соответствии с инструкциями оповещение включено в componentDidMount
методе (говоря: «ТЫ ПРОСТО СВИДЕТЕЛЬ дебюта ... кричащий !!!! !!! ') должен появиться после красный текст отображается на экране. Однако, когда я тестирую его, сообщение действительно появляется до текст визуализируется. Это ожидаемое поведение?
Полный код:
var Flashy = React.createClass({
componentWillMount: function() {
alert('AND NOW, FOR THE FIRST TIME EVER... FLASHY!!!!');
},
componentDidMount: function() {
alert('YOU JUST WITNESSED THE DEBUT OF... FLASHY!!!!!!!');
},
render: function() {
alert('Flashy is rendering!');
return (
<h1 style={{ color: this.props.color }}>
OOH LA LA LOOK AT ME I AM THE FLASHIEST
</h1>
);
}
});
ReactDOM.render(
<Flashy color='red' />,
document.getElementById('app')
);
setTimeout(function() {
ReactDOM.render(
<Flashy color='green' />,
document.getElementById('app')
);
}, 2000);
Это действительно полезно. Спасибо. Вы знаете, почему DOM-рендеринг заблокирован предупреждением в 'componentDidMount'? Разве это не вызывается после завершения рендеринга? ' –