componentDidMount
полезен, если вы хотите использовать некоторые плагины, не связанные с реакцией. Например, в React отсутствует хороший выбор времени. Pickaday красив, и он просто работает из коробки. Так что мой DateRangeInput компонент теперь использует Pickaday для ввода даты начала и окончания, и я подключил его так:
componentDidMount: function() {
new Pikaday({
field: React.findDOMNode(this.refs.start),
format: 'MM/DD/YYYY',
onSelect: this.onChangeStart
});
new Pikaday({
field: React.findDOMNode(this.refs.end),
format: 'MM/DD/YYYY',
onSelect: this.onChangeEnd
});
},
DOM-должен быть оказаны для Pikaday, чтобы подключить к нему и componentDidMount
крючок позволяет вам крюк в это точное событие.
componentWillMount
полезен, когда вы хотите сделать что-то программно прямо перед установкой компонентов. Пример в одной кодовой базе, над которой я работаю, - это mixin, у которого есть куча кода, который в противном случае дублируется в нескольких различных компонентах меню. componentWillMount
используется для установки состояния одного определенного общего атрибута. Другой способ componentWillMount
может быть использовано, чтобы установить поведение компонента разветвления с помощью опоры (ы):
componentWillMount() {
let mode;
if (this.props.age > 70) {
mode = 'old';
} else if (this.props.age < 18) {
mode = 'young';
} else {
mode = 'middle';
}
this.setState({ mode });
}
Документы охватывают это: https://facebook.github.io/react/docs/component-specs.html. Я не уверен, что еще вы ищете? – WiredPrairie
Вот пример функции componentWillMount: http://stackoverflow.com/questions/23123138/perform-debounce-in-react-js – xinyuan