Интересная дискуссия по теме "Pinia сторы против глобальных рефов" прошла на Reddit-e.
Плюсы composable сторов на глобальных рефах заявлены как:
1. Простота
2. Нативность по отношению к фреймворку
3. Отсутствие зависимостей означает отсутствие будущей ситуации "RIP Vuex" с переписыванием 50% кодовой базы проекта
4. API Composition выглядит очень зрелым и стабильным и вряд ли сильно изменится в ближайшем будущем (по сравнению с переходом Vue 2 -> Vue 3).
5. Позволяет использовать всю мощь Reactivity API вместо жесткой Reactive обертки для переменных у Pinia. Разница в производительности может быть огромной.
Выводы:
1. Большинство согласилось, что если не нужна поддержка SSR и интеграция с Devtools, то работа с Reactivity API напрямую и инкапсуляция реактивного состояния и бизнес логики в composable функции вполне возможна. Для многих это лучше использования Pinia.
2. Работа с Reactivity API позволяет делать многое, что не позволяет Pinia - например, делать сторы на TypeScript классах, как описано в предыдущем сообщении.
3. Был предложен лайфхак - во время разработки импортировать реактивные данные из composable сторов в Pinia, и тогда возможно использование Devtools. При билде для продакшна Pinia уже нет.
4. Единственный аргумент в пользу Pinia - унификация работы со стором в команде.
#pinia #architecture
Плюсы composable сторов на глобальных рефах заявлены как:
1. Простота
2. Нативность по отношению к фреймворку
3. Отсутствие зависимостей означает отсутствие будущей ситуации "RIP Vuex" с переписыванием 50% кодовой базы проекта
4. API Composition выглядит очень зрелым и стабильным и вряд ли сильно изменится в ближайшем будущем (по сравнению с переходом Vue 2 -> Vue 3).
5. Позволяет использовать всю мощь Reactivity API вместо жесткой Reactive обертки для переменных у Pinia. Разница в производительности может быть огромной.
Выводы:
1. Большинство согласилось, что если не нужна поддержка SSR и интеграция с Devtools, то работа с Reactivity API напрямую и инкапсуляция реактивного состояния и бизнес логики в composable функции вполне возможна. Для многих это лучше использования Pinia.
2. Работа с Reactivity API позволяет делать многое, что не позволяет Pinia - например, делать сторы на TypeScript классах, как описано в предыдущем сообщении.
3. Был предложен лайфхак - во время разработки импортировать реактивные данные из composable сторов в Pinia, и тогда возможно использование Devtools. При билде для продакшна Pinia уже нет.
4. Единственный аргумент в пользу Pinia - унификация работы со стором в команде.
#pinia #architecture
Reddit
From the vuejs community on Reddit
Explore this post and more from the vuejs community
👍7
Pinia Colada
появилась и как Nuxt модульСколько в
Nuxt
уже [неправильных] способов заменить fetch()
, включая Tanstack
?#pinia #nuxt
pinia-colada.esm.dev
Pinia Colada 🍹
The smart Data Fetching layer for Pinia
Автор
Путем построения еще одного стора
И насколько же легко и естественно все это делается в модульных рефах. Возможность сделать
#pinia #oop
Pinia
делится секретом костыля для создания private
переменных в стореПутем построения еще одного стора
И насколько же легко и естественно все это делается в модульных рефах. Возможность сделать
private state
- еще один плюс, - и очень жирный - в их копилку.Private state
- это инкапсуляция и возможность использовать принципы ООП#pinia #oop
Masteringpinia
How to create private state in stores
Creating Private State in Pinia: Understanding Options vs. Setup Stores and Maintaining Data Integrity
❤4👍2
Написал статью "Обзор различных методов работы с реактивным стейтом во Vue"
Переделанная вот эта. Исправлены фундаментальные ошибки (автор не понимает, что такое
Внизу статьи опрос, просьба проголосовать.
Также размещено на Vue-FAQ
#reactivity #pinia #eventbus #article
Переделанная вот эта. Исправлены фундаментальные ошибки (автор не понимает, что такое
composable
функция) и некоторые другие недочетыВнизу статьи опрос, просьба проголосовать.
Также размещено на Vue-FAQ
#reactivity #pinia #eventbus #article
Хабр
Обзор различных методов работы с реактивным стейтом во Vue
Организовать обмен [реактивными] данными между компонентами и модулями во Vue 3 приложении можно несколькими способами. 1. Prop drilling Prop drilling - это ситуация, когда пропсы передаются через...
❤17🎃1
👍5😁3