Компонент componentDidMount срабатывает каждый раз, когда я устанавливаю состояние где-нибудь в классе? - PullRequest
1 голос
/ 20 апреля 2020

Я хотел бы знать, срабатывает ли componentDidMount каждый раз, когда я устанавливаю setState (где-либо в классе)?

Во-вторых, я вызываю функцию fetchData внутри componentDidMount и fetchData является слушателем базы данных, поэтому он прослушивает изменения в базе данных Firestore. Как это называется каждый раз, когда я звоню с componentDidMount?

1 Ответ

1 голос
/ 20 апреля 2020

componentDidMount вызывается, когда компонент впервые добавляется в DOM (или отображать дерево в нативном режиме), а не когда этот компонент впоследствии обновляется / перерисовывается.

Из документов React на состояние и жизненный цикл :

Метод componentDidMount() запускается после обработки вывода компонента в DOM. Это хорошее место для установки таймера ...

И документация по Component.componentDidMount:

componentDidMount() сразу после монтирования компонента (вставляется в дерево). Инициализация, для которой требуются узлы DOM, должна go здесь. Если вам нужно загрузить данные из удаленной конечной точки, это хорошее место для создания экземпляра сетевого запроса.

Состояние установки просто вызывает перерисовку компонента.

...