@vuejs_ru

Страница 3045 из 3900
reskwer
08.06.2018
17:53:10
а вернуть промис - это не вернуть данные?

Valeriy
08.06.2018
17:53:10
а почему бы и нет ?
потому что там где ты будешь этот экшин запускать данные из него тебе не нужны

DimenSi
08.06.2018
17:53:22
ну в моем понимании экшин может вернуть промис для того, чтобы можно было сделать await actionA(...)
ну ты же можешь в экшен засунуть запрос к беку, который не делает мутаций в сторе, но возвращает данные

Google
DimenSi
08.06.2018
17:54:06
Valeriy
08.06.2018
17:54:07
чтобы сделать запрос и не закомитить его с стор?

Roman
08.06.2018
17:54:17
бля люди до сих пор не понимают что для таких кейсов не нужен вуекс вообще ниразу.

reskwer
08.06.2018
17:54:18
DimenSi
08.06.2018
17:54:25
ну это же блядь не мутация, откуда столько проблем

Roman
08.06.2018
17:54:42
отовсюду блядь что это не то для чего экшны нужны

Valeriy
08.06.2018
17:54:49
да я тут заметил сегодня уже вторую странность

Roman
08.06.2018
17:54:49
даже в редуксе говнистом так не делают

Valeriy
08.06.2018
17:54:56
первая это пихание геттеров везде и всюду

Roman
08.06.2018
17:55:05
Всмысле!!
коромысле

Google
Valeriy
08.06.2018
17:55:25
хотя вот черным по белому в доке написано



ИНОГДА!

между словами ИНОГДА и ВСЕГДА есть большая разница :)

reskwer
08.06.2018
17:55:44
Со всей увереностью могу заявить!!! Вы блеть не используете Vuex по назначению - если не понимаете что должны возвращать Экшены

Roman
08.06.2018
17:55:54
смари бля, я беру весь этот код. оборачиваю в другую функцию в отдельном модуле и йобаный в рот вуекс уже не нужен но я так же по вашей логике получу ответ

DimenSi
08.06.2018
17:56:36
Roman
08.06.2018
17:56:50
ну и обворачивай, в чем проблема? Ты думаешь, у меня все экшены используются только для такого?
я вообще не думаю что у тебя там используется. я лишь сказал что это хуевая затея

а ты делай как нравится) яж не настаиваю.

Valeriy
08.06.2018
17:57:07
максимум что может иногда вернуть экшин так это некий промис с метаданными если у тебя цепочка экшинов

reskwer
08.06.2018
17:57:10
смари бля, я беру весь этот код. оборачиваю в другую функцию в отдельном модуле и йобаный в рот вуекс уже не нужен но я так же по вашей логике получу ответ
Блеть, ты что совсем ебанулся об столб..?? А если у тебя этот запрос дергаеться 100500 раз и при это он должен мутировать основной стейт.. НАХУЯ тебе его дергать в компоненте, при этот раздувать компонент СОВЕРШЕННО НЕ НУЖНОЙ ЛОГИКОЙ!!!

Valeriy
08.06.2018
17:57:19
и ты должен подождать пока выполнится первый экшин

reskwer
08.06.2018
17:58:04
хз.. у меня всегда комититься в стор :))

в экшенах :)

reskwer
08.06.2018
17:58:38
ну ты молодец. а я вон то комментировал
ну значит ты тоже молодец :)

Google
Valeriy
08.06.2018
18:01:12
https://youtu.be/ltcM7axld2k?list=RDltcM7axld2k&t=58

=)))

Stanislav
08.06.2018
18:02:11
первая это пихание геттеров везде и всюду
Тут сегодня статья была на этот счет

DimenSi
08.06.2018
18:03:47
я запихивал все в геттеры, чтоб случайно ничего не мутировать

больше аргументов у меня нет

Stanislav
08.06.2018
18:06:06
Valeriy
08.06.2018
18:06:10
я запихивал все в геттеры, чтоб случайно ничего не мутировать
ну у тебя есть полное понимание того как работают геттеры?

DimenSi
08.06.2018
18:06:31
ты можешь мутировать поле в объекте :)
это то да, но вроде бы vuex жалуется, если мутирую поле

Stanislav
08.06.2018
18:07:00
это то да, но вроде бы vuex жалуется, если мутирую поле
А вот я не знаю, это так же, как и с пропсами работает? :)

reskwer
08.06.2018
18:07:06
хз.. геттере это комьютед для стейте, что-бы избавить компонент от логики и не дублировать логику в компонентах

Stanislav
08.06.2018
18:07:40
... можно использовать mapState

reskwer
08.06.2018
18:07:53
не.. не

Valeriy
08.06.2018
18:08:45
просто боюсь себе представить как может 100500 неуместных геттеров повлиять на производительность приложения

Stanislav
08.06.2018
18:08:52
Никак

Valeriy
08.06.2018
18:08:53
ведь каждый геттер становится реактивным

будет отсдеживать все зависимости свои

и вычисляться каждый раз

Stanislav
08.06.2018
18:09:33
Все 100500 не будут

DimenSi
08.06.2018
18:10:49
ведь каждый геттер становится реактивным
вообще-то не геттер реактивен, а данные внутри него

А вот я не знаю, это так же, как и с пропсами работает? :)
Ппц. Помню почти год назад когда только начал в js и vuex, я удивлялся, что vuex не жалуется, что я мутирую данные, если это вложенно, тогда меня отговорили, что это потому, что strict мод не включит. Я включил и жаловалось, я сейчас опять проверил херь эту, молчит подонок

Google
DimenSi
08.06.2018
18:12:59
хотя вроде бы вью рекурсивно обходит обьект и должен видеть такие изменения и жаловаться

Roman
08.06.2018
18:13:58
https://www.monterail.com/blog/2017/computed-properties-javascript-dependency-tracking

DimenSi
08.06.2018
18:15:17
Valeriy
08.06.2018
18:15:36
ну в проде же никто такое не включает

DimenSi
08.06.2018
18:15:50
ты вообще видишь, что читаешь?

Valeriy
08.06.2018
18:17:18
да я вижу какие то безумные идеи

и антипаттерны

нормальному человеку в голову не придет сделать мутацию там где ее быть не должно

Admin
ERROR: S client not available

Valeriy
08.06.2018
18:17:45
и даже стрикт режим не нужен для этого

Stanislav
08.06.2018
18:17:57
так у меня strict и стоит же
ты же в проде его отключаешь?

DimenSi
08.06.2018
18:18:03
@c01nd01r, это безумие, через раз работает. Сейчас запустил опять проект, походил мутировал обьекты и обьекты в массивах, все норм, жалуется

значит не зря в геттеры пихаю!

@ValeryKobzar, за полтора года, я мутировал случайно обьект раза 2-3

либо недостаточно глубого скопировал, либо какой-то плагин мутировал мне данные, которые сам же принимал

Valeriy
08.06.2018
18:23:45
либо недостаточно глубого скопировал, либо какой-то плагин мутировал мне данные, которые сам же принимал
те кто на реакте писал, у них уже выработана привычка, перед тем как мутировать какую то часть объекта, например поле с массивом, или поле с другим объектом, ты просто делаешь его копию через спред

типа [...array], { ...object }

и уже с этим работаешь

Google
DimenSi
08.06.2018
18:24:10
но ебушки воробушки, это же не защищает нихуя

Valeriy
08.06.2018
18:24:27
если внутри этого тоже надо что-то мутировать, то повторяешь процедуру для внутренних полей

DimenSi
08.06.2018
18:24:40
ну если только так

вручную рекурсивно все поля обходить

Valeriy
08.06.2018
18:25:19
другого способа к сожалению в js нет

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

достаточно клонировать мутируемые куски в момент их мутации, а все остальные оставлять в неизменном виде

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

это использовать например ramda библиотеку

там есть функции которые умеют мутировать глубокие по вложенности структуры гарантированно не испортив исходный объект

immutable.js не предлагаю, это в vue не оченноь уместно уже

DimenSi
08.06.2018
18:32:56
immutable.js и в реакте не уместен

Valeriy
08.06.2018
18:33:08
в реакте очень даже уместно

DimenSi
08.06.2018
18:33:11
придумали палку и вставляли ее в колеса

Valeriy
08.06.2018
18:33:21
если ты делаешь редьюсеры сразу на immutable

immutable хорош когда за один раз надо поменять в разных частях дерева значения

пришли данные с сервера ты один раз сделал fromJS и работаешь дальше с иммутабельным объектом, надо отправить во внешнюю среду данные делаешь .toJS() и все

иммутабельность и функциональщина в специально заточенной под это среде позволяет полностью распараллелить вычисления

Andrey
08.06.2018
18:55:28
immutable не сериализуется

А значит и ssr идёт в жопу

Страница 3045 из 3900