Size: a a a

JavaScript.Ninja

2020 February 06

IL

Ihor Levchenko in JavaScript.Ninja
Димка
Здравствуйте, коллеги! Нужна фронтендерская помощь! Собственно, вопрос один из двух частей.
1) Зачем нужен стейт-менеджмент с помощью ngrx, ngxs и т.д.? Просмотрел несколько статей на этот счёт - всё никак не могу понять, зачем городить столько прослоек, если в ангуляре из коробки есть сервисы, которые можно под это дело приспособить?
2) Чисто практический вопрос. Есть фильтр с чекбоксами, есть массив объектов. Массив объектов можно фильтровать по возможным значениям поля в чекбоксах и выводить. Я приспособил сервисы для этого. Есть сервис filter-store и array-store. При изменении фильтра автоматически фильтруется массив (array-store подписан на изменения filters-store с помощью observable), что логично, но появилась проблема - если фильтры возвращают пустой массив, то не нужно применять последнее изменение. То есть, мне придётся до применения фильтра отфильтровать массив и, если всё нормально, установить состояние фильтра на новое, а потом будет проходить фильтрация повторно в array-store. Где у меня ошибка в логике? Как лучше? Куда выносить подобное? Могут ли в этом случае помочь менеджеры стейта? Как, зачем, почему?
Надеюсь, написал более-менее понятно. Заранее спасибо за ответы;)
1) потому что это единый контракт. В сервисах нет определенного бест практикс как лучше это делать
Если стратегия чейндж детекшена OnPush, то там одни сабджекты будут в хаотичном порядке с хаотичными именами. Кто-то делает их readonly и дает наружу, а кто-то инкапсулирует под внутренними методами сервиса и это все вносит хаос.
Я считаю что если один-два-три человека на проекте - можно и без ngrx, но если много людей и проект большой - все-таки стоит, ибо это единый стандарт построения стейта.
Но использование стейт менеджера не есть прямо обязательным
источник

VC

Valentyn Chepiha in JavaScript.Ninja
Доброго ранку
А в тестовому завданні на вступ потрібно отримати якийсь текст?
Бо у мене виходить лиш  - шум
источник

K

Konstantin in JavaScript.Ninja
1)  доя работы в большой команде, чтобы писали примерно в одном стиле. т.к. если просто на сервисах делать то очень много вариантов как все организовать есть. б большинстве случаев стэйт менедер не нужен, если можете в команде договорится
источник

YB

Yury Bandarenka in JavaScript.Ninja
Valentyn Chepiha
Доброго ранку
А в тестовому завданні на вступ потрібно отримати якийсь текст?
Бо у мене виходить лиш  - шум
Точно текст и цифры
источник

K

KLITKO in JavaScript.Ninja
источник

K

KLITKO in JavaScript.Ninja
Всем привет. подскажите при let res = getMessage(x, y);
         res = res ^ key.charCodeAt(index % (key.length)) картинка не собирается, где делаю не правильно?
источник

K

KLITKO in JavaScript.Ninja
источник

VC

Valentyn Chepiha in JavaScript.Ninja
ну десь так, на ній же не біса не видно
источник

VC

Valentyn Chepiha in JavaScript.Ninja
Yury Bandarenka
Точно текст и цифры
дякую.
буду думати
источник

K

KLITKO in JavaScript.Ninja
Valentyn Chepiha
ну десь так, на ній же не біса не видно
это без декодирования, а при декодировании вообще все смазывается
источник

YB

Yury Bandarenka in JavaScript.Ninja
KLITKO
это без декодирования, а при декодировании вообще все смазывается
Неправильно декодирует. Перечитайте условие внимательнее
источник

K

KLITKO in JavaScript.Ninja
Читал
источник

ЕА

Евгений Александрович in JavaScript.Ninja
мне кажется это условие те кто сделал наизусть знают уже)
источник

K

KLITKO in JavaScript.Ninja
Направьте в нужном направлении
источник

YB

Yury Bandarenka in JavaScript.Ninja
KLITKO
Направьте в нужном направлении
попробуйте перпендикулярно.
источник

SM

Sergey Minichev in JavaScript.Ninja
KLITKO
Направьте в нужном направлении
источник

ЕА

Евгений Александрович in JavaScript.Ninja
так и есть
источник

ЕА

Евгений Александрович in JavaScript.Ninja
1 символ с 1 символом ключа
источник

ЕА

Евгений Александрович in JavaScript.Ninja
2 символ со 2 символом ключа
источник

ЕА

Евгений Александрович in JavaScript.Ninja
и так далее пока ключ не закончится
источник