Size: a a a

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

2020 August 10

К

Карамультук... in React — русскоговорящее сообщество
Денис Широков
допустим какой-нибудь список записей в виде таблички, эти записи нужны только там и больше нигде, можно обойтись обычными хуками реакта (useState, useReducer)
можно, но при первом же случае "сохранили сущность здесь - нужно обновить список там" возникнет проблема
источник

DB

David Bowie in React — русскоговорящее сообщество
Денис Широков
больше всего интересует куда выносить поведение (то как загружаются данные и откуда, а также различные обработчики-функции)
Посмотри более-менее актуальные курсы и архитектурные вопросы закроются. Путь самурая вроде ща популярный. Файловую структуру можно у других подсматривать, например https://github.com/accesso-app/frontend/tree/master/src
источник

_:

_Ryner' :: IO ❄️ in React — русскоговорящее сообщество
Денис Широков
ну стейт менеджер - это глобальное состояние, а у меня в основном загружаемые данные больше относятся к локальному состоянию, его незачем хранить глобально
Почему бы и нет, оно и так и так хранится, только в случае с useState это не явно и не очевидно
источник

ДШ

Денис Широков... in React — русскоговорящее сообщество
_Ryner' :: IO ❄️
Почему бы и нет, оно и так и так хранится, только в случае с useState это не явно и не очевидно
Почему не явно, ведь вы заходите в компонент и данные там же и крутятся, помоему максимально явно это там где используется там и определено, а лезть еще куда-то чтобы понять где оно лежит это уже и есть неявно
источник

_:

_Ryner' :: IO ❄️ in React — русскоговорящее сообщество
Денис Широков
Почему не явно, ведь вы заходите в компонент и данные там же и крутятся, помоему максимально явно это там где используется там и определено, а лезть еще куда-то чтобы понять где оно лежит это уже и есть неявно
Чтоб узнать о неявном стойте, придётся все компонентный с неявным стейтом посетить
источник

A

Andrey in React — русскоговорящее сообщество
_Ryner' :: IO ❄️
Чтоб узнать о неявном стойте, придётся все компонентный с неявным стейтом посетить
да это даже не связано с неявностью
в обоих случаях будет просто хук в компоненте

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

вместо того, чтобы просто юзать точечные подписки
источник

A

Andrey in React — русскоговорящее сообщество
я не просто так упомянул про технические ограничения, потому что в редаксе, хранить очень атомарную информацию - крайне сомнительная затея, и в плане поддержки, и в плане читабельности, и в плане перфоманса
источник

ДШ

Денис Широков... in React — русскоговорящее сообщество
Andrey
да это даже не связано с неявностью
в обоих случаях будет просто хук в компоненте

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

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

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
Денис Широков
допустим какой-нибудь список записей в виде таблички, эти записи нужны только там и больше нигде, можно обойтись обычными хуками реакта (useState, useReducer)
Очень часто в процессе расширения приложения стейт твоей таблички может пригодится где - то еще для нормализации данных, это как пример. Либо надо будет обновить стейт даблички из других кусков приложения.
Стейт становится не зависим от прокидывания пропсов через кучу компонентов. Тягаешь через тот же селектор в нужном компоненте нужные нормализованные данные и все.
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
сейчас все основные стм нацелены на уменьшение бойлерплейта, что позволяет более удобно все в стм хранить и описывать чем раньше
источник

A

Andrey in React — русскоговорящее сообщество
Daniil Tchernyavsky
сейчас все основные стм нацелены на уменьшение бойлерплейта, что позволяет более удобно все в стм хранить и описывать чем раньше
ну, разве что того самого, которого все хейтят)
источник

ДШ

Денис Широков... in React — русскоговорящее сообщество
Спасиб, по полученным комментариям более менее картинка сложилась
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
Andrey
ну, разве что того самого, которого все хейтят)
ну я так посмотрел, редакс тулкит вроде уменьшил бойлерплейт
источник

DT

Daniil Tchernyavsky in React — русскоговорящее сообщество
правда там теперь имер и ощущение что мобкс успешно залил свой пр в редакс, но ладно
источник

A

Andrey in React — русскоговорящее сообщество
Daniil Tchernyavsky
ну я так посмотрел, редакс тулкит вроде уменьшил бойлерплейт
ну, там скорее сама концепция редакса все портит)
источник

ДФ

Дмитрий Филиппенко... in React — русскоговорящее сообщество
Подскажите плиз

 useEffect(() => {
   if (prevDep) getAgentRealTime();
 }, [getAgentRealTime]);

линтер хочет в массив зависимостей
prevDep

Но по смыслу он там не нужен

Как правильно написать, чтобы он его не требовал
источник

ES

Eugene Sternin in React — русскоговорящее сообщество
Дмитрий Филиппенко
Подскажите плиз

 useEffect(() => {
   if (prevDep) getAgentRealTime();
 }, [getAgentRealTime]);

линтер хочет в массив зависимостей
prevDep

Но по смыслу он там не нужен

Как правильно написать, чтобы он его не требовал
Можно определить функцию getAgentRealTime внутри хука
источник

AH

Alex Hyriavets in React — русскоговорящее сообщество
Дмитрий Филиппенко
Подскажите плиз

 useEffect(() => {
   if (prevDep) getAgentRealTime();
 }, [getAgentRealTime]);

линтер хочет в массив зависимостей
prevDep

Но по смыслу он там не нужен

Как правильно написать, чтобы он его не требовал
По смыслу там должно быть всё
источник

AH

Alex Hyriavets in React — русскоговорящее сообщество
Eugene Sternin
Можно определить функцию getAgentRealTime внутри хука
как это повлияет на prevDev?
источник

ES

Eugene Sternin in React — русскоговорящее сообщество
Alex Hyriavets
как это повлияет на prevDev?
Я невнимательно прочитал, сорян
источник