Size: a a a

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

2019 October 23

a

alx in Angular - русскоговорящее сообщество
привет. а кто какие библиотеки использует для shallow copy сложных объектов js? например в тех же редюсерах, руками очень грозмозко получается  в случаях нетривиальных стейтов.
источник

KR

Kirill Rodin in Angular - русскоговорящее сообщество
alx
привет. а кто какие библиотеки использует для shallow copy сложных объектов js? например в тех же редюсерах, руками очень грозмозко получается  в случаях нетривиальных стейтов.
lodash
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
alx
привет. а кто какие библиотеки использует для shallow copy сложных объектов js? например в тех же редюсерах, руками очень грозмозко получается  в случаях нетривиальных стейтов.
А rest почему не хватает?
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Точнее spread
источник

VB

Valentin Buryakov in Angular - русскоговорящее сообщество
alx
привет. а кто какие библиотеки использует для shallow copy сложных объектов js? например в тех же редюсерах, руками очень грозмозко получается  в случаях нетривиальных стейтов.
лушше вообще избегать большой вложенности в сторах и делать максимально плоским и использовать фича стейты. Ведь все эти deep copy и тд - это синхронные оперции и в редьюсерах тормозить будет на больших данных. Для работты с массивами entity используете.
источник

a

alx in Angular - русскоговорящее сообщество
Kulagin Alex
Точнее spread
в случае вложенных структур их там нужно делать несколько, потом за ними следить при обновлениях иерархий и т.д.
источник

a

alx in Angular - русскоговорящее сообщество
Valentin Buryakov
лушше вообще избегать большой вложенности в сторах и делать максимально плоским и использовать фича стейты. Ведь все эти deep copy и тд - это синхронные оперции и в редьюсерах тормозить будет на больших данных. Для работты с массивами entity используете.
да есть и фича стейты, проблема в том что домен/предметная область уж больно многослойная/многоуровневая
источник

a

alx in Angular - русскоговорящее сообщество
Kirill Rodin
lodash
а вот это интересно - спасибо!
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
alx
в случае вложенных структур их там нужно делать несколько, потом за ними следить при обновлениях иерархий и т.д.
Тогда это это уже deep а не shallow
источник

a

alx in Angular - русскоговорящее сообщество
Kulagin Alex
Тогда это это уже deep а не shallow
в deep мне бы требовалось изменить все ссылки вложенных объектов, а в моя задача изменить значение в листе одной подветки дерева объектов, остальные ветви дерева должны оставаться без изменений
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Либо я не до конца понимаю, либо тут попахивает мутацией стейта
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
alx
привет. а кто какие библиотеки использует для shallow copy сложных объектов js? например в тех же редюсерах, руками очень грозмозко получается  в случаях нетривиальных стейтов.
Можете immer попробовать, либо разбивать редьюсеры на более мелкие функции
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
alx
в deep мне бы требовалось изменить все ссылки вложенных объектов, а в моя задача изменить значение в листе одной подветки дерева объектов, остальные ветви дерева должны оставаться без изменений
Можно хранить плоский стейт и рядом иерархичный вид для расчётов. Мы так делали
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
т.е. можно в стейте хранить например структуру вида родитель>дети с одним уровнем вложенности. И тогда можно точечно обновлять
источник

NA

Nazar Abu in Angular - русскоговорящее сообщество
источник

J

Jeck in Angular - русскоговорящее сообщество
Посоветуйте профайлер для ангуляра
источник

J

Jeck in Angular - русскоговорящее сообщество
Чтобы улучшить перформэнс
источник

NK

Nikolai Kovalenko in Angular - русскоговорящее сообщество
Вертихвост キバ
9.0.0-next.12 уже пробовали?
точно так же. Перезапускаю ng serve, всё собирается
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Привет, как можно правильно указать, что проперти должно быть типа Объект, с необязательными ключами?

Вот так не работает:
@Input() customField: {
       [key: string]?: any
   }
источник

ЭП

Эрик Поуль in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Привет, как можно правильно указать, что проперти должно быть типа Объект, с необязательными ключами?

Вот так не работает:
@Input() customField: {
       [key: string]?: any
   }
@Input() customField: {} так не работает?
источник