Size: a a a

Angular - русскоговорящее сообщество

2021 May 25

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
если ущерб O(n) сложности никак не ощутим, то не проще ли писать более простой и понятный код.
К тому же иммутабельность не только про отслеживание изменений, это так же способ избежать лишних багов
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
иммутабельность в ущерб производительности. На небольших данных нормально, а вот например такая ситуация: виртуал скроллер фетчит данные на шаге (n+50) и юзер листает листает вниз, данные набираются и набираются, и вот нужно удалить из этого массива какой-то элемент (юзер промотал и захотел удалить) . И что, весь этот массив перезаписывать?
источник

ÀŲ

À Ų in Angular - русскоговорящее сообщество
Thank you so much
источник

OL

Oleg Livcha in Angular - русскоговорящее сообщество
Зачем весь массив переписывать ???
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
ну вот и я про то
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
можешь не перезаписывать, но нужно дать понять компоненту чтобы изменил рендер
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
ну если там миллионы записей, может и не стоит, но кейс странный
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
преждевременная оптимизация обычно хуже
источник

AB

Az Booki in Angular - русскоговорящее сообщество
U r welcome)
источник

OL

Oleg Livcha in Angular - русскоговорящее сообщество
Вы говорите о ре-рендеренге элементов массива на доме?или я не правильно понял о чем ваша дискуссия ?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Если используются иммутабельные структуры данных для иммутабельности, то большие списки не будут перезаписываться полностью
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
а какие иммутабельные структуры присутствуют в тайпскрипте в частности, что позволяют так делать?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
В самом typescript таких нет, но есть отдельные решения, например, immutable.js, но он больше не поддерживается
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
интересно, нужно поресёрчить этот вопрос, спасибо что подтолкнул)
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Там у ребят в readme есть ссылка на доклад или статью с объяснением как это работает, можно попробовать начать от туда
источник

AI

Artsiom Ivanov in Angular - русскоговорящее сообщество
список может храниться как n-мерный массив с бакетами по, скажем, 32 элемента. Тогда в любой момент времени не нужно перезаписывать более чем 32 элемента
может хранится как связанный список, где элемента добавляются в начало, что почти бесплатно
есть варианты
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
это понятно, но не писать же всё это руками) Буду смотреть либы)
источник

AI

Artsiom Ivanov in Angular - русскоговорящее сообщество
immerjs
источник

SC

Serega Carbon in Angular - русскоговорящее сообщество
спасибо, чекну
источник

TO

Tony Osipenko in Angular - русскоговорящее сообщество
Всем привет) Подскажите как правильно передать с одной страницы на другую данные? К примеру есть колекция постов и на каждом посте есть кнопка more inform и при нажатии происходит routerLink на /post:id к примеру
источник