Ребятки. Добрый день. Нужен совет.
Как правильно поступить. Есть глобал стейт (useContext). Там лежит свойство loading (bool). Там же функция showLoader и hideLoader, которые меняют значение loading. Там же есть функция - фетчинг данных с сервера. На старте фетчинга запускаю showLoader, по окончании hideLoader. Есть объект, который получаю с помощью той самой функции фетчинга. Теперь к вью - есть скрин, в котором все данные исключительно из полученных с сервера. Изначального значения в них нет. Соответственно что получается. По умолчанию loading = false. Перехожу на этот скрин, сразу отрабатывает return, и кричит что обьект ундефайндет. И это логично, ведь сначала return, а потом уже useEffect, в котором я запускаю функцию из глобалстейста. Пробую валидировать вью по ключу loading - сделав его по умолчанию true. Работает, все отлично. Но далее ухожу на другой аналогичный скрин. И там уже loading false, так как в конце процедуры прошлого скрина он логично поменялся на false и у меня отрисовался return компонента.
Вопрос: я вижу единственный выход - вешать loading в локальный setState. Но теряется централизованность тогда) правильно ли я мыслю?