Size: a a a

Советский Angular

2021 April 05

IV

Ilya Verpovsky in Советский Angular
Просто в ангуляре для простых массивов есть trackBy с Diffing Algorithm внутри.
А тут получается не нужно писать The Diffing Algorithm для сложных структур, если такие попадаются.
источник

IV

Ilya Verpovsky in Советский Angular
А immer.produce он же не создаёт какой-то другой тип данных. Он получается просто использует Diffing Algorithm и возвращает новый объект с обновлёнными подобъектами, как тут https://t.me/ngSoviet/582039 ?
источник

DT

Dmitriy Teplov in Советский Angular
Он создаёт проксирующий объект (черновик, так называемый), делает дифф и применяет патч иммутабельно к проксируемому объекту, насколько я знаю
источник

IV

Ilya Verpovsky in Советский Angular
Я смотрел ngFor trackBy, на первый взгляд похоже, что они одинаково работают. Только в ngFor ещё вроде кеш есть, но это не точно.
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Да, в асихронном однопотоке мы не получим блокировок, но мы все еще можем получить непредсказуемое поведение
источник

DT

Dmitriy Teplov in Советский Angular
Не понимаю, о чём ты про trackBy

Но дефолтный это просто по айдентити сравнение

https://github.com/angular/angular/blob/09dcf8639682c02b61d1df3c42f5578374125712/packages/core/src/change_detection/differs/default_iterable_differ.ts#L26
источник

DT

Dmitriy Teplov in Советский Angular
А по поводу поведения дефолтного trackBy

const objectArray = [{value: false}];

const currentObject = objectArray[0];

objectArray[0].value = true;

const newObject = objectArray[0];

console.log(currentObject === newObject) // true
источник

IV

Ilya Verpovsky in Советский Angular
Тут DefaultIterableDiffer, он делает дифф предыдущее состояния к новому, создаёт объект дифф и применяет патч к дому.
источник

IV

Ilya Verpovsky in Советский Angular
Только он глубоко объекты не обходит, только сравнение в trackByFn.
источник

DT

Dmitriy Teplov in Советский Angular
В общем, тут всё написано
https://immerjs.github.io/immer/
источник

DT

Dmitriy Teplov in Советский Angular
Если интересует
источник

IV

Ilya Verpovsky in Советский Angular
Спасибо, уже читаю
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
а альтернативы immutable.js есть?
источник

C☭

Chadwick ☭ in Советский Angular
источник

MG

Moe Green in Советский Angular
prisma - только по оф. докам изучала? или - еще какие интересные материалы есть по ней? @vetrovadariya
источник

IE

Igor' Ember in Советский Angular
ну да, только оф дока
Ну них дока хорошая, на уровне неста
источник

MG

Moe Green in Советский Angular
дока хорошая, ага )
источник

K🦋

Kir 🦋 JS in Советский Angular
Я помню, когда только начиналась вся эта небутабельная движуха, чуваки с кложи продвигали mori
источник

K🦋

Kir 🦋 JS in Советский Angular
А, не важно, 6 лет не поддерживается уже ахахах
источник

DT

Dmitriy Teplov in Советский Angular
Ну вот immer
источник