Size: a a a

React — русскоговорящее сообщество

2021 January 17

VK

Vladimir Klimov in React — русскоговорящее сообщество
Константин Лянцев
ну я просто слышал много историй как отказывались от стейт менеджера и держали все в аполло кеше
На счет все - для меня выглядит сомнительным, но данные, которые запрашиваются из сервера - да, мне прямо нравится подход с кешами как в react-query или apollo
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Константин Лянцев
ну я просто слышал много историй как отказывались от стейт менеджера и держали все в аполло кеше
🥴есть ограниченное количество задач решаемых таким подходом
аля swr apollo react-query
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitriy Shuleshov
🥴есть ограниченное количество задач решаемых таким подходом
аля swr apollo react-query
Скажем так - этот подход совсем не назвать универсальным
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
🥴есть ограниченное количество задач решаемых таким подходом
аля swr apollo react-query
Ну например, ты запрашиваешь данные, которые уже есть в твоем стейте. Чтобы их переиспользовать пока загрузятся новые, а потом "невидимым" образом подменить, когда они придут, надо написать какую-то свою логику, абстрацию над этим всем
И так много таких вот мелких штук
Подход с кешем прикольно это решает, плюс пропадает проблема неявных зависимостей между компонентами, которые используют данные из стм: компонент просто запрашивает данные, а откуда их взять - решает уже react-query/apollo и т.п.
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Ну например, ты запрашиваешь данные, которые уже есть в твоем стейте. Чтобы их переиспользовать пока загрузятся новые, а потом "невидимым" образом подменить, когда они придут, надо написать какую-то свою логику, абстрацию над этим всем
И так много таких вот мелких штук
Подход с кешем прикольно это решает, плюс пропадает проблема неявных зависимостей между компонентами, которые используют данные из стм: компонент просто запрашивает данные, а откуда их взять - решает уже react-query/apollo и т.п.
Могу лишь предположить что я за 4 года не сталкивался с задачами где зайдет такой подход. Проблем при "шаге влево\вправо" создает не меньше или даже больше чем плюсом по совокупности
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Могу лишь предположить что я за 4 года не сталкивался с задачами где зайдет такой подход. Проблем при "шаге влево\вправо" создает не меньше или даже больше чем плюсом по совокупности
Это все "вилами по воде", надо разбирать конкретные примеры и приводить конкретные аргументы
Но мне лень😁
Я просто не разделяю такого неприятия к этим инструментам
источник

КЛ

Константин Лянцев... in React — русскоговорящее сообщество
Vladimir Klimov
Это все "вилами по воде", надо разбирать конкретные примеры и приводить конкретные аргументы
Но мне лень😁
Я просто не разделяю такого неприятия к этим инструментам
так а как быть с такими темами при удалении/добавлении элемента?
источник

КЛ

Константин Лянцев... in React — русскоговорящее сообщество
Ты в каждом месте где вызывается мутация добавления/удаления должен писать этот пласт логики и ручками менять кеш
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Константин Лянцев
так а как быть с такими темами при удалении/добавлении элемента?
Если я н ошибаюсь то при правильной схема ответа после мутации кеш апдейтнется автоматом (при добавлении)
источник

КЛ

Константин Лянцев... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Если я н ошибаюсь то при правильной схема ответа после мутации кеш апдейтнется автоматом (при добавлении)
при добавлении у меня ничего не обновляется, но при изменении действительно все подхватывается автоматом
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Это все "вилами по воде", надо разбирать конкретные примеры и приводить конкретные аргументы
Но мне лень😁
Я просто не разделяю такого неприятия к этим инструментам
У меня аргументов почти нет.
Просто в 2018г мы выкатили 3-4 аппы в прод на аполо и это было больно (еще раз повторю) могу предположить что просто неудачно было взят аполо (хотя один из проектов - crm где формочки да листинги, казалось бы аполо должен зайти как миленький)
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
У меня аргументов почти нет.
Просто в 2018г мы выкатили 3-4 аппы в прод на аполо и это было больно (еще раз повторю) могу предположить что просто неудачно было взят аполо (хотя один из проектов - crm где формочки да листинги, казалось бы аполо должен зайти как миленький)
А что именно было больно?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
А что именно было больно?
логика в компонентах, повальный lifting state up и как результат трешак в смешивании бл и вью слоя причем бл размазана ровным слоем по вью компонентам, война с кешем, ну и плюс хуков еще не было рендер проп был трендом и рендер методе каждого не ui компонента была жоппа
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
логика в компонентах, повальный lifting state up и как результат трешак в смешивании бл и вью слоя причем бл размазана ровным слоем по вью компонентам, война с кешем, ну и плюс хуков еще не было рендер проп был трендом и рендер методе каждого не ui компонента была жоппа
Ну, может сейчас ситуация получше
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Ну, может сейчас ситуация получше
изменился только последний момент
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Но я бы с удовольствием взглянул на проект с таким стеком где такой подход красиво ложится (с тестами , четким делением в директориях и кодовой базой как минимум в 20kloc)
источник

КЛ

Константин Лянцев... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Но я бы с удовольствием взглянул на проект с таким стеком где такой подход красиво ложится (с тестами , четким делением в директориях и кодовой базой как минимум в 20kloc)
+
источник

ДК

Даниил Кондратьев... in React — русскоговорящее сообщество
Всем привет. У меня в редьюсере есть диспатч фильтровки товаров в отдельный массив и вот вопрос. Нормально ли делать так, как сделал я, или за такое в компаниях вешают на позорный столб, и всё-таки делать еще один диспатч?
источник

ДК

Даниил Кондратьев... in React — русскоговорящее сообщество
Типо, синг ренспонсебилите, вот эти вот все штуки :D
источник

КЛ

Константин Лянцев... in React — русскоговорящее сообщество
Даниил Кондратьев
Всем привет. У меня в редьюсере есть диспатч фильтровки товаров в отдельный массив и вот вопрос. Нормально ли делать так, как сделал я, или за такое в компаниях вешают на позорный столб, и всё-таки делать еще один диспатч?
а не проще фильтрацию вынести в селектор?
источник