Логика позиционирования для сетевого запроса в приложении React/Redux
У меня есть компонент React, который отображает элементы на странице. Элементы извлекаются из сети.
Эти элементы должны быть извлечены и отображены при загрузке компонента.
Будет также механизм обновления элементов после загрузки компонента.
Моя первая мысль - разместить сетевой запрос внутри componentDidMount
функция.
Не нарушит ли это что-либо из лучших практик, связанных с избыточным и однонаправленным потоком данных / неизменяемостью?
Вместо этого я должен послать действие в хранилище и положиться на промежуточное программное обеспечение для выполнения сетевого запроса (которое затем в конечном итоге изменит хранилище и вызовет повторную визуализацию компонента)?
1 ответ
Если ваши данные локальны, сделайте это внутри componentWillMount, если ваши данные глобальны, сделайте это, вызвав действие.
Так что в основном делает асинхронный вызов в componentDidMount
а также componentWillMount
такой же. Скорее всего, асинхронный вызов в componentWillMount
не вернусь раньше componentDidMount
уволен. Но он вернется раньше, чем если вы сделаете тот же звонок в componentDidMount
,
Выполнение асинхронного вызова componentDidMount
проясняет, что компонент будет сначала отображаться без данных, а затем повторно отображаться при поступлении данных, что неявно componentWillMount
,