Size: a a a

Советский Angular

2020 October 14

D

Dima in Советский Angular
Eugene
буду ставить наверх)
Сверху красивее
источник

E

Eugene in Советский Angular
Dima
Сверху красивее
неэффективно
источник

D

Dima in Советский Angular
Eugene
неэффективно
Красивее
источник

D

Dima in Советский Angular
3-5 градусов наберёшь
источник

D

Dima in Советский Angular
Зато красивее
источник

N👩

Nikita 👩🏻‍💻💭... in Советский Angular
Igor Bodnar
перепишешь с нуля?
да вряд ли
источник

N👩

Nikita 👩🏻‍💻💭... in Советский Angular
ща придумаю что-нибудь )
источник

E

Eugene in Советский Angular
Dima
3-5 градусов наберёшь
да щас 3-5)
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
источник

DT

Dmitriy Teplov in Советский Angular
ммм, temple OS
источник

MU

Maks Urekeshov in Советский Angular
привет всем.
появились вопросы по стейт менеджменту -
1) какие tradeoffs в использование асинхроных экшенов в сторе, а не в родительском компоненте и потом положить это в стор.
2) Если я нормализую данные в сторе в Экшене, то в селекторе мне в каком виде данные отправлять ? Пример: Приходит список документов в виде массива, я его нормализую в массив по айдишникам и объект, где айди - ключ, а сам документ - значение. Нужно вывести список документов, потом у документа, можно поставить флаг, что он выбран. я с селектора получу:
а) массив с айдишками, потом через селектор с аргументом внутри item компонента получу нужный документ со стора
б) денормализую данные и получу просто массив из документов, как мне и пришёл с апи и в item компонент просто прокину @Input
потом я выбираю документ и по айди просто ставлю ему флаг в сторе, что он выбран, какой из этих вариантов, будет лучше работать с меньшим ререндером ?
источник

MA

Maxim Afanasev in Советский Angular
Maks Urekeshov
привет всем.
появились вопросы по стейт менеджменту -
1) какие tradeoffs в использование асинхроных экшенов в сторе, а не в родительском компоненте и потом положить это в стор.
2) Если я нормализую данные в сторе в Экшене, то в селекторе мне в каком виде данные отправлять ? Пример: Приходит список документов в виде массива, я его нормализую в массив по айдишникам и объект, где айди - ключ, а сам документ - значение. Нужно вывести список документов, потом у документа, можно поставить флаг, что он выбран. я с селектора получу:
а) массив с айдишками, потом через селектор с аргументом внутри item компонента получу нужный документ со стора
б) денормализую данные и получу просто массив из документов, как мне и пришёл с апи и в item компонент просто прокину @Input
потом я выбираю документ и по айди просто ставлю ему флаг в сторе, что он выбран, какой из этих вариантов, будет лучше работать с меньшим ререндером ?
1. Асинхронные экшены не в сторе. Они просто диспатчатся по окончании асинхронной операции. О каком альтернативном варианте идет речь, не понятно.
2. Нормализация - это не про массив/хэшмап, это другое совсем. Хранить данные в массиве или объекте - это решать вам в зависимости от характера работы с данными. Вариант с объектом и массивом айдишников рядом - довольно универсальный вариант, но не факт что это нужно. Считайте это деталями реализации, скрытыми в селекторе.
источник

MU

Maks Urekeshov in Советский Angular
Maxim Afanasev
1. Асинхронные экшены не в сторе. Они просто диспатчатся по окончании асинхронной операции. О каком альтернативном варианте идет речь, не понятно.
2. Нормализация - это не про массив/хэшмап, это другое совсем. Хранить данные в массиве или объекте - это решать вам в зависимости от характера работы с данными. Вариант с объектом и массивом айдишников рядом - довольно универсальный вариант, но не факт что это нужно. Считайте это деталями реализации, скрытыми в селекторе.
1) имеется в виду, разница между диспатчем экшена и асинк кода в сторе и апи call в родительском компоненте и после получение данных диспатч синхронного экшена
источник

MA

Maxim Afanasev in Советский Angular
Maks Urekeshov
1) имеется в виду, разница между диспатчем экшена и асинк кода в сторе и апи call в родительском компоненте и после получение данных диспатч синхронного экшена
Второе - плохой вариант, с точки зрения разделения ответственности. Компоненты отвечают за отображение.
источник

MU

Maks Urekeshov in Советский Angular
Maxim Afanasev
1. Асинхронные экшены не в сторе. Они просто диспатчатся по окончании асинхронной операции. О каком альтернативном варианте идет речь, не понятно.
2. Нормализация - это не про массив/хэшмап, это другое совсем. Хранить данные в массиве или объекте - это решать вам в зависимости от характера работы с данными. Вариант с объектом и массивом айдишников рядом - довольно универсальный вариант, но не факт что это нужно. Считайте это деталями реализации, скрытыми в селекторе.
2) просто интересно, если у меня селектор будет отдавать массив из объектов при учете OnPush и trackBy при изменении одного объекта, не будет ли у меня перерисовываться другие элементы, кроме того, который я поменял ?
источник

MU

Maks Urekeshov in Советский Angular
Maxim Afanasev
Второе - плохой вариант, с точки зрения разделения ответственности. Компоненты отвечают за отображение.
Спасибо за ответ!
источник

MA

Maxim Afanasev in Советский Angular
Maks Urekeshov
2) просто интересно, если у меня селектор будет отдавать массив из объектов при учете OnPush и trackBy при изменении одного объекта, не будет ли у меня перерисовываться другие элементы, кроме того, который я поменял ?
Селектор отдает стрим, который эмитит при изменении результата селектора. Change detection будет вызван в том компоненте, в котором вы этот стрим обрабатываете (полагаю, через async pipe). Возможно, я не понял, в чём именно ваш вопрос..
источник

MU

Maks Urekeshov in Советский Angular
мой вопрос был будет ли ререндер item компонента, который получает через @Input документ со стрима. Просто с одной стороны @Input не поменялся, но я не уверен, что у @Input будет та же ссылка, что пришла со стрима из за (иммутабельности)
источник

MU

Maks Urekeshov in Советский Angular
в плане, если я буду прокидывать просто айдишник, то там будет просто проверка примитива
источник

MA

Maxim Afanasev in Советский Angular
Maks Urekeshov
мой вопрос был будет ли ререндер item компонента, который получает через @Input документ со стрима. Просто с одной стороны @Input не поменялся, но я не уверен, что у @Input будет та же ссылка, что пришла со стрима из за (иммутабельности)
Если результат селектора поменялся - то поменяется и ссылка.
источник