169 похожих чатов

Коллеги, работаю с quasar (вдруг важно🤔) vue3 + vuex (js) Понимаю,

что нехватает знания о лучших решениях по разработке на vue3.
А именно:
Мне удобно дробить большой код компонента на подкомпоненты с единственным применением - вроде это считается не хорошо, но мне удобно😎
Мне нравится выносить как можно больше логики в стор (vuex getters и actions) в идеальном мире внутри компонентов я вижу только геттеры и доступ к точным, понятным actions.
Но это раздувает код стора, а работа с модулями мне не нравится:
getters['modulename/gettername']
Так себе запись...

В общем понимаю, что не качественно строю архитектуру приложений, но каких-то прозрачных понятных примеров найти быстро не смог.

Пытался изучать код примеров/приложений/плагинов, но обилие var создаёт недоверие к адекватности текста.

Итого: где можно кратко, со множеством примеров и объяснением почему так, а не иначе, найти как спроектировать архитектуру? 🤔

16 ответов

28 просмотров

Если кратко - переписывайте все без стора

Vlad
Жоско ))))

Зато правда

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

Исходя из личного опыта могу сказать, что если компонент всегда работает с данными одним образом и только от получает эти данные, то логику получения и взаимодействия можно держать в компоненте. Если же несколько компонентов используют одни и те же данные, то тогда так не получится. Держать логику в сторе - не слишком хорошая идея, если логика касается работы компонента с данными, а не работы с данными самой по себе.

Максим-Юдин Автор вопроса
Yurii
Исходя из личного опыта могу сказать, что если ком...

Коллеги, благодарю за обратную связь. На все ответы разом не ответить, но учитывая общность замечаний, поясню: В сторе логика только та, которая получает/отдает данные по АПИ, и которая берёт нужное через геттеры Вот геттеры могу на один компонент написать - мне н нравится, когда разносится логика: половина в сторе, половина в компоненте🤔 Ну, когда что-то править надо, начинаешь вспоминать: а какого типа эта логика и где она к меня лежит?.. Но когда у меня более 10 ендпоинтов то actions, работающие с получением/отправкой, данных разрослись уже на энциклопедию 😂😂😂

Максим Юдин
Коллеги, благодарю за обратную связь. На все ответ...

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

Максим Юдин
Коллеги, благодарю за обратную связь. На все ответ...

В таком случае ваша стора будет содержать getters, которые напрямую относятся к получению данных и станут ненужными. Вы тогда напрямую сможете mapState делать и уже в компонетах делать getter.

Максим-Юдин Автор вопроса
Yurii
В таком случае ваша стора будет содержать getters,...

Геттеры, которые не обрабатывают данные я не применяю 😎 Но в целом лично испытываю трудности с выносом геттеров в компонент, потому, как писал выше, забываю, где искать исходные данные😂😂😂 Потому и интересно, как правильно (рекомендовано) и почему именно так.

Максим Юдин
Геттеры, которые не обрабатывают данные я не приме...

Есть два основных варианта. 1) Вы получаете данные внутри компонента 2) Вы получаете данные в родительском компоненте и передаёте через props.

Максим-Юдин Автор вопроса
Yurii
Есть два основных варианта. 1) Вы получаете данны...

Тут вопрос, если и родитель берет данные из стора и компонент может брать данные из стора, то как лучше? С одной стороны удобно, что вся логика, связанная с приложением, в одном месте. Например у родителя: Он получает данные и распихивает их по дереву компонентов. С другой стороны, удобно, когда компетентны живут каждый свой жизнью и не от кого не зависят 🤔

Максим Юдин
Тут вопрос, если и родитель берет данные из стора ...

Если компонент получает данные в один способ, то можно попросту делать обращение к API слою в самом компоненте и при этом Vuex не нужен.

Максим Юдин
Тут вопрос, если и родитель берет данные из стора ...

Наличие сторы !== везде данные из сторы получать только через стору

ну вот пинья о простых вещах и микросторах

Максим-Юдин Автор вопроса
Сергей Дёмин
ну вот пинья о простых вещах и микросторах

Вот я примерно так и понял. Но точно так же можно и на вуексе писать. Правда, может выйти не удобно - это вот да

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта