Size: a a a

2020 September 05

VS

V7v S6k in Frontend UA
Stas G
Их ещё нужно понять))
Та просто інтерфейс у них складний)) В кложі простіше зробили з update-in.
источник

VS

V7v S6k in Frontend UA
assocPath в принципі зачасту достатньо
источник

TS

Terry Sahaidak in Frontend UA
V7v S6k
Не бачу проблеми, якщо чесно. Мутабельну структуру даних можна копіювати точно так само як і імутабельну.
ліби типу іммер дозволяють тобі працювати з іммутабельними даними, без мільйона спредів. ти давно на редаксі писав?)
источник

AR

Alexey Raspopov in Frontend UA
V7v S6k
А поясніть, будь ласка, який сенс в бібліотеках типу immutable чи immer в жс? Можна ж просто не мутувати дані?

Звичайно, якщо проект великий, то десь можна випадково щось мутувати, але ж так само на великому проекті можна забути використати ці бібліотеки…

Тому мені на думку спадає лише один варіант: захист від мутацій в 3rd party code, так?
В immutablejs используется structural sharing: получаешь бенефиты имутабельного программирования с (относительно) оптимизированным расходом памяти и времени
источник

VS

V7v S6k in Frontend UA
Alexey Raspopov
В immutablejs используется structural sharing: получаешь бенефиты имутабельного программирования с (относительно) оптимизированным расходом памяти и времени
тобто є сенс використовувати його для дуже великих структур лише?
источник

AR

Alexey Raspopov in Frontend UA
для массивов/мап/сетов 1) не маленького размера 2) которые могут часто изменяться в процессе работы (пользователя)
источник

AR

Alexey Raspopov in Frontend UA
мне больше всего нравится в immutable это методы для работы с Map и вложенными апдейтами (udpateIn, setIn, etc)
источник

VS

V7v S6k in Frontend UA
makes sense, дякую
источник

VS

V7v S6k in Frontend UA
Alexey Raspopov
мне больше всего нравится в immutable это методы для работы с Map и вложенными апдейтами (udpateIn, setIn, etc)
мені теж подобається, але в принципі, це можна реалізувати і з нативними структурами
источник

VS

V7v S6k in Frontend UA
от structural sharing з нативними справді робити ризиково дуже
источник

AR

Alexey Raspopov in Frontend UA
V7v S6k
мені теж подобається, але в принципі, це можна реалізувати і з нативними структурами
Представь что у тебя есть мапа с рекордами. Тебе нужно обновить свойства А рекорда abc1 в этой мапе. В immutablejs ты можешь сделать это одним выражением, с логарифмического сложностью и оптимизированным расходом памяти
источник

VS

V7v S6k in Frontend UA
так, я розумію
источник

TS

Terry Sahaidak in Frontend UA
V7v S6k
мені теж подобається, але в принципі, це можна реалізувати і з нативними структурами
а ти працюєш з іммутабельними зараз структурами?
источник

TS

Terry Sahaidak in Frontend UA
спредами оновити вложенісь типу chats.byId[chatId].messages[messageId].attachments[attachmentId].value доволі боляче
источник

VS

V7v S6k in Frontend UA
Мені не подобається ідея обгортання всього підряд. Тут є три варіанти:

1) Обгортати все підряд. Тут два мінуси: зайобисто і легко забути.
2) Обгортати деякі об’єкти. Тоді постають питання “які”, “коли”, “чи був об’єкт обгорнутий” — зайве когнітивне навантаження.
3) Обгортати критично важливі об’єкти.

Мені 3-й варіант подобається найбільше поки-що.
источник

VS

V7v S6k in Frontend UA
Terry Sahaidak
а ти працюєш з іммутабельними зараз структурами?
Ні, але стараюсь не мутувати.
источник

VS

V7v S6k in Frontend UA
Terry Sahaidak
спредами оновити вложенісь типу chats.byId[chatId].messages[messageId].attachments[attachmentId].value доволі боляче
источник

TS

Terry Sahaidak in Frontend UA
з іммером якраз суть в тому, що тобі нічого не нав'язують.

ти робиш все як робив, але маєш іммутабельність)
источник
2020 September 06

VS

V7v S6k in Frontend UA
Я не хочу користуватися стандартною бібліотекою чи класами енівей, тому магія іммера для мене виглядає сумнівною)

Ramda дозволяє зручно працювати з нативними структурами, не мутуючи їх. Тому мені поки-що такий підхід подобається найбільше.
источник

VS

V7v S6k in Frontend UA
V7v S6k
Мені не подобається ідея обгортання всього підряд. Тут є три варіанти:

1) Обгортати все підряд. Тут два мінуси: зайобисто і легко забути.
2) Обгортати деякі об’єкти. Тоді постають питання “які”, “коли”, “чи був об’єкт обгорнутий” — зайве когнітивне навантаження.
3) Обгортати критично важливі об’єкти.

Мені 3-й варіант подобається найбільше поки-що.
Коротше, всім дякую за пояснення, я поки-що зупинюсь на 3-му варіанті.
источник