169 похожих чатов

Сори, я из села, но зачем нужен этот мудрёный Ngrx

для состояний, если тупо есть сервисы?

Чисто чтобы видеть Истрию изменения стейтов?

19 ответов

20 просмотров

Паттерны же

Frontend-Account Автор вопроса
Roman Babiak
Паттерны же

Каво? Усложнять код ради паттернов?)

Frontend-Account Автор вопроса
Frontend Account
Каво? Усложнять код ради паттернов?)

Даже не так. Ухудшать читаемость кода ради паттернов?)

Frontend Account
Даже не так. Ухудшать читаемость кода ради паттер...

Почему ухудшать? Как раз в случае стора понятно что происходит. А в случае сервисов надо разбиратся в логике автора

Юра 🪐
Почему ухудшать? Как раз в случае стора понятно чт...

можно общую практику внутри проекта ввести, тогда разбираться надо будет всего один раз что даже кажется проще чем либу изучать

А почему бы и нет? История изменения стейта иногда очень помогает. Плюс есть история происходящих экшенов, тоже весьма полезно. Само кеширование становится удобней в разы, но имхо рационально использовать на больших долгосрочных проектах, где на кеше делается акцент прям, типа пва маркетплейса и т.п. По поводу читаемости - если вы работали со сторами и разобрались , то читаемость остается прежней, не проще и не легче, это просто инструмент, освоил - понимаешь, не освоил - не понимаешь.

Для примера - представьте себе приложение в котором должен быть оффлайн режим с несколькими каталогами, историей заказов пользователя, тысячей продуктов, сотней сеттингов, стейтом модалок и т.п. Визуально обработать и понять такие объемы намного легче, когда есть стор, даже не представляю как с этим работать без его использования

Frontend-Account Автор вопроса
Александр Мармеладов
А почему бы и нет? История изменения стейта иногда...

Истрию изменений можно реализовать самому намного проще

Frontend Account
Истрию изменений можно реализовать самому намного ...

С удовольствием бы посмотрел на реализацию, есть ссылка?

Frontend Account
Истрию изменений можно реализовать самому намного ...

Если ссылки нет, то хотя бы концепцию - очень интересно.

Frontend-Account Автор вопроса
Александр Мармеладов
Если ссылки нет, то хотя бы концепцию - очень инте...

Делаем класс State, который в себе хранит список объектов, где ключ – название состояние, а значение – список состояний. И есть метод set, который принимает в себя объект с ключом – названием состояния и значением – самим состоянием. Он добавляет в список состояний новое и возвращает значение этого объекта, чтобы можно было сделать так this.value = state.set({stateName: stateValue}) И this.value становится stateValue Самое простое что пришло в голову, куда уж проще

Frontend Account
Делаем класс State, который в себе хранит список о...

Расход памяти оцените, каждый раз копировать весь стейт?

Oleg Safonov
Расход памяти оцените, каждый раз копировать весь ...

Однако все модные "функциональные" стейт менеджеры на флакс архитектуре так и работают, а не при помощи undo/redo паттерна

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта