Size: a a a

2021 February 20

R

Resident in Svelte [svelt]
Всем добрый вечер, может ктонибудь подсказать в каком направлении смотреть, создал свой компонент через свойства заполняю его параметры, данные это список объектов, объект это массив ключ значение
источник

R

Resident in Svelte [svelt]
У каждого объекта уникальный ID как мне из введённого списка оьтктов перерисовать только с определённым ID ну и новыми данными конечно
источник

R

Resident in Svelte [svelt]
То есть при первой отрисовке мне в сокет прилетает весь список объектов, потом уже только один объект или несколько у которых что то в бэке поменялось
источник

AK

Alex Kulakoff in Svelte [svelt]
отрисовка через #each?
источник

A

Arushwl in Svelte [svelt]
Ключ
источник

R

Resident in Svelte [svelt]
Arushwl
Ключ
#key
источник

R

Resident in Svelte [svelt]
Тоже вот сижу читаю давно в апи не смотрел недавно появился?
источник

R

Resident in Svelte [svelt]
Alex Kulakoff
отрисовка через #each?
Сейчас да
источник

A

Arushwl in Svelte [svelt]
Ключ - ID
источник

A

Arushwl in Svelte [svelt]
В массиве - список из массива же?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
ща кароче завезу решение лул
источник

A

Arushwl in Svelte [svelt]
Кирилл Спасибович
ща кароче завезу решение лул
О 👀
источник

R

Resident in Svelte [svelt]
Arushwl
Ключ - ID
Да
источник

A

Arushwl in Svelte [svelt]
А вопрос-то был? Не вижу...
источник

КС

Кирилл Спасибович... in Svelte [svelt]
$: objectsById = currentObjects.reduce((items, item) => {
 items[item.id] = item;
 return items;
}, {});

function onEvent(newObjects) {
 let objectsToReplace = {};
 let objectsToAdd = [];
 for (const obj of newObjects) {
   if (items[obj.id]) {
     objectsToReplace[obj.id] = obj;
   } else {
     objectsToAdd.push(obj);
   }
 }
 const newObjects = currentObjects.map((obj) => {
   return objectsToReplace[obj.id]
     ? objectsToReplace[obj.id]
     : obj;
 });
 newObjects.push(objectsToAdd);
 currentObjects = newObjects;
}
источник

КС

Кирилл Спасибович... in Svelte [svelt]
может не сильно оптимально, но как-то так
источник

R

Resident in Svelte [svelt]
Кирилл Спасибович
$: objectsById = currentObjects.reduce((items, item) => {
 items[item.id] = item;
 return items;
}, {});

function onEvent(newObjects) {
 let objectsToReplace = {};
 let objectsToAdd = [];
 for (const obj of newObjects) {
   if (items[obj.id]) {
     objectsToReplace[obj.id] = obj;
   } else {
     objectsToAdd.push(obj);
   }
 }
 const newObjects = currentObjects.map((obj) => {
   return objectsToReplace[obj.id]
     ? objectsToReplace[obj.id]
     : obj;
 });
 newObjects.push(objectsToAdd);
 currentObjects = newObjects;
}
Как поменять значение в списке я и так знаю, это 700 объектов перерисовать?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
всмысле перерисовать ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
в каждом объекте будет просто сравнено предидущее значение со следующим
источник

КС

Кирилл Спасибович... in Svelte [svelt]
а если включишь immutable, то ничего даже не затригерится
источник