Логика позиционирования для сетевого запроса в приложении React/Redux

У меня есть компонент React, который отображает элементы на странице. Элементы извлекаются из сети.

Эти элементы должны быть извлечены и отображены при загрузке компонента.

Будет также механизм обновления элементов после загрузки компонента.

Моя первая мысль - разместить сетевой запрос внутри componentDidMount функция.

Не нарушит ли это что-либо из лучших практик, связанных с избыточным и однонаправленным потоком данных / неизменяемостью?

Вместо этого я должен послать действие в хранилище и положиться на промежуточное программное обеспечение для выполнения сетевого запроса (которое затем в конечном итоге изменит хранилище и вызовет повторную визуализацию компонента)?

1 ответ

Решение

Если ваши данные локальны, сделайте это внутри componentWillMount, если ваши данные глобальны, сделайте это, вызвав действие.

Так что в основном делает асинхронный вызов в componentDidMount а также componentWillMount такой же. Скорее всего, асинхронный вызов в componentWillMount не вернусь раньше componentDidMount уволен. Но он вернется раньше, чем если вы сделаете тот же звонок в componentDidMount,

Выполнение асинхронного вызова componentDidMount проясняет, что компонент будет сначала отображаться без данных, а затем повторно отображаться при поступлении данных, что неявно componentWillMount,

Другие вопросы по тегам