в основном это просто велосипед - мы пишем свое собственное решение, которое делает то же самое, что и пиния, но при этом:

  • оно не унифицировано, нет единого апи, которое диктует формат определения новых сторов, формат описания computed’ов, формат функций и общее взаимодействие со стором

можно написать `export const a = ref(1); export const b = computed(() => a.value * 2);

а можно `const a = ref(1);

export function useX() { const b = computed(() => a.value * 2);

return { a, b }; }

можно для каждого свойства заводить readonly версию и функцию для его обновления а можно и не заводить

и все это нужно проговаривать с командой и оно ничем не диктуется, кроме как негласным соглашением

это можно решить через свой собственный апи (aka defineStore), но это буквально путь к “а давайте напишем свою пинию” (только она будет хуже с вероятностью 99%)

  • если идем по пути собственного апи, то на это еще и тесты нужно писать, выносить в пакет или как-то обособлять в коде, что, опять же, занимает лишнее время и силы, при этом дает сомнительный результат;

  • все это чудо будет жить в памяти перманентно, как только инициализируется модуль, в отличие от пинии, которая лениво инициализирует сторы при первом вызове, поэтому если в приложении будет 5 таких сторов, то все они будут инициализироваться прямо при старте приложения, хотя по факту может быть нужен только один из них;

  • все эффекты в сторе уже живут в своем скоупе, который можно при желании уничтожить, со своим стором на коленке такого не будет, и все эффекты будут просто висеть в памяти вечно; например, если тебе понадобится добавить вотчер, то придется это делать в корне модуля, а значит этот вотчер будет жить вечно и у тебя нет над ним контроля (ручное управление через stop() не считаем за централизованный контроль);

  • все сторы в пинии уже сгруппированы и их можно найти в одной общей карте, со своими отдельными сторами, раскиданными по модулям, так не получится;

  • HMR по дефолту не будет точечно обновлять стейт, он будет его пересоздавать целиком;

  • система плагинов (удобно писать всякие LS синхронизации и подвязываться на жизненный цикл сторов);

  • всякие девтулзы и тулинг (лично для меня это околонулевой бонус, но факт его наличия отрицать нельзя)

при этом плюсы от своего стора только в том, что “ну оно пишется легко и весит меньше”``