Size: a a a

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

2020 November 23

V

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

V

Vlad in React — русскоговорящее сообщество
у него есть локальное состояние открыт/закрыт, зачем это выносить в стор?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vlad
у него есть локальное состояние открыт/закрыт, зачем это выносить в стор?
Все верно не нужно.
Только список локальных состояний в реальных (вполне возможно моих субъективных) кейсах был крайне мал, и к тому же почти на 100% перекрывался ui китом, где эти состояния и так уже зашиты внутри
источник

О

Олег in React — русскоговорящее сообщество
А вы когда нибудь хранили реф в redux? чет мне кажется приложеньку начинает немного шатать от этого. redux devtools падает и в целом медленнее начинает все работать
источник

И

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

О

Олег in React — русскоговорящее сообщество
Иван
Стор редукса предполагает, что ты будешь хранить в нем сереализуемые данные. Поэтому если кто-то и хранил в редуксе рефы, он тебе не признается — стыдно должно быть
Понял
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Все верно не нужно.
Только список локальных состояний в реальных (вполне возможно моих субъективных) кейсах был крайне мал, и к тому же почти на 100% перекрывался ui китом, где эти состояния и так уже зашиты внутри
Продолжу мысль.

Концепция реакта с one way data flow защищает от многого, но но не тех кто пользуется этим инструментом, а разработчиков этого инструмента. Для тимы реакта - защита, для пользователей реакта - ограничение. Как только реактивное значение\стейт становится необходим в компоненте выше по иерархии или в другой ветке, то необходимо применять контринтуитивный паттерн "поднятия стейта" (можно посчитать сколько раз в этом чате была дана ссылка на этот раздел в доке или тема зашла об этом) и поверьте не только новички испытывают с этим проблемы.

Если говорить предметно, то взять допустим тот же дропдаун. Вдруг возникает кейс где его нужно открыть\закрыть вне реакта и что тогда делать? Ну тут кто на что гаразд - кто стейт поднимает, кто поднимает аж до стейт менеджера😁, а кто и вовсе, заводит еще одно реактивное значение и начинает заниматься синхронизацией. Кейсы, когда локальное состояние вдруг перестает быть локальным - достаточно часты.

Вывод. Было бы круто выносить все в глобал стор, если бы у нас был "идеальный" стейт менеджер.
источник

[

[object Object] in React — русскоговорящее сообщество
Переслано от [object Object]
Всем привет, переустановил Линукс и столкнулся с проблемой: не работает Hot Reload.
Причем в CLI показывает изменения и компилирует код, а браузер не перезагружается(
Может, кто-то сталкивался?

P.S Количество Ватчеров уже поднял
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Иван
Стор редукса предполагает, что ты будешь хранить в нем сереализуемые данные. Поэтому если кто-то и хранил в редуксе рефы, он тебе не признается — стыдно должно быть
{ ref }

И бабах уже сериализуемое🌚
источник

ДФ

Дмитрий Филиппенко... in React — русскоговорящее сообщество
Иван
Стор редукса предполагает, что ты будешь хранить в нем сереализуемые данные. Поэтому если кто-то и хранил в редуксе рефы, он тебе не признается — стыдно должно быть
Я чёт даже не смог представить кейс в котором нужно хранить реф в редаксе
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Продолжу мысль.

Концепция реакта с one way data flow защищает от многого, но но не тех кто пользуется этим инструментом, а разработчиков этого инструмента. Для тимы реакта - защита, для пользователей реакта - ограничение. Как только реактивное значение\стейт становится необходим в компоненте выше по иерархии или в другой ветке, то необходимо применять контринтуитивный паттерн "поднятия стейта" (можно посчитать сколько раз в этом чате была дана ссылка на этот раздел в доке или тема зашла об этом) и поверьте не только новички испытывают с этим проблемы.

Если говорить предметно, то взять допустим тот же дропдаун. Вдруг возникает кейс где его нужно открыть\закрыть вне реакта и что тогда делать? Ну тут кто на что гаразд - кто стейт поднимает, кто поднимает аж до стейт менеджера😁, а кто и вовсе, заводит еще одно реактивное значение и начинает заниматься синхронизацией. Кейсы, когда локальное состояние вдруг перестает быть локальным - достаточно часты.

Вывод. Было бы круто выносить все в глобал стор, если бы у нас был "идеальный" стейт менеджер.
Замечательно, мы вынесем всю логику из вью, но превратим стейт менеджер в какую-то помойку из данных разных уровней абстракции и разных архитектурных слоев
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
И как тогда определить зону ответственности стейт менеджера - вообще не понятно, он будет ответственный за все🤷‍♂
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Замечательно, мы вынесем всю логику из вью, но превратим стейт менеджер в какую-то помойку из данных разных уровней абстракции и разных архитектурных слоев
Будет это помойка или стуктура уже зависит от разработчика
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
И как тогда определить зону ответственности стейт менеджера - вообще не понятно, он будет ответственный за все🤷‍♂
Стейт менджер это все лишь правильная абстракция для реактивных значений и работы с ними
источник

DS

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

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Стейт менджер это все лишь правильная абстракция для реактивных значений и работы с ними
Вы выносите из вью то, что относится ко вью в стейт менеджер, смешиваете это с тем, что не относится ко вью, чем это лучше "бизнес-логики" во вью?)
Я не очень понимаю этот подход)
Видимо потому эффектор такой сложный?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Вы выносите из вью то, что относится ко вью в стейт менеджер, смешиваете это с тем, что не относится ко вью, чем это лучше "бизнес-логики" во вью?)
Я не очень понимаю этот подход)
Видимо потому эффектор такой сложный?
Что относится по вашему к вью?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Что относится по вашему к вью?
Состояние, которое относится к деталям реализации UI
Грубо говоря, это слой, который отвечает за то, где должны быть отображены данные и в какой форме (модалка, а может нет, а может аккордеон), при этом слой бизнес-логики знать этого не должен
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Что относится по вашему к вью?
И вообще пока не будет дано определение термину "бизнес логика", не о чем и говорить
источник