немного
У меня есть рид онли данные, которые нужно получить один раз и затем по всему приложению использовать. Как правильно это сделать?
1. Делать запросы из каждого компонента с помощью vue query, первый запрос закешируется и дальше пошло-поехало
2. Сделать компосабл, проверять если данные != undefined, то сразу возвращать их, если undefined, то фетчить
3. Сделать компосабл и внутри использовать vue query)) так делают вообще? не слишком ли переусложнено как-то?)
2. и без vue query
композабл - это переиспользуемый кусок логики, он не хранит глобальные данные и пересоздается для каждого компонента заново, поэтому там не получится проверять данные на undefined, только если не хранить их за пределами композабла, но в таком случае это будет обычная глобальная реактивная переменная по поводу композаблов и vue-query - да, так делают, обычно как раз под запросы и создают композаблы, которые возвращают нужные данные если тебе просто нужно хранить глобальное состояние для всего приложения и у тебя нет SSR, то можно создать глобальную переменную за пределами композабла или положить ее в стор, vue-query тут выглядит лишним
спасибо. Да, получается будет глобальная реактивная переменная. Стор добавлять в проект ради одного объекта не хочется как будто
если SSR нет, то и нет смысла о нем думать
тогда глобальная переменная - норм, да
Зачем там реактивность? Допустим это конфиг сайта Создается переменная за пределами композабла, в самом начале происходит инициализация с сервера, затем просто используются данные везде где надо
необходимость в реактивности зависит от того, что это за данные если это статичный конфиг, то да, реактивность там не нужна а вот если это какой-нибудь объект юзера, который теоретически может поменяться и ui должен отреагировать на эти изменения, то реактивность уже нужна
ну он вроде написал, что они рид онли и получаются один раз
тогда вопрос в том, на каком этапе он получает эти данные если, например, он делает это до старта приложения, то можно без реактивности, но если запрос выполняется уже во время работы приложения, то после получения данных ничего нигде не обновится без реактивности
Обсуждают сегодня