Для меня это довольно просто.
Во-первых, вы хотите, чтобы вызовы API / прослушиватели событий API вызывались / инициализировались только один раз , componentDidMount()
и constructor
гарантированно запускались только один раз на смонтированный компонент.
Однако я не буду помещать api в конструктор, потому что если вы хотите обновить пользовательский интерфейс после того, как ваши данные возвращаются из api, y вам нужно изменить состояние, в то время как вы не можете установить состояние в constructor
. Единственное место, которое запускается только один раз и позволяет установить setState - это componentDidMount()
.
Для слушателей событий, я думаю, его можно вставить в constructor
/ componentDidMount
. Тем не менее, официальные документы рекомендуют помещать в componentDidMount()
. Взгляните на this .
componentDidMount вызывается после монтирования компонента и имеет представление DOM. Это часто место, где вы можете прикрепить общие c события DOM.