Sergey
Видел их useSelect, неприятное зрелище.
я рад, что не юзаю ридакс уже больше года
Max
я рад, что не юзаю ридакс уже больше года
Редакс на хуках поприятнее в использовании.
🦜
Редакс на хуках поприятнее в использовании.
редакс в целом неприятный в использовании
Sergey
Редакс на хуках поприятнее в использовании.
теперь не надо описывать селекторы, редюссеры, экшены, чтобы описать одну сущность?
Igor
Редакс на хуках поприятнее в использовании.
приятно когда яйца лижут, но явно не редакс
Daniil
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
arthur
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
автора забыл упомянуть
Daniil
шо так необходимо найти виновника?)
Max
и что с ним не так?
Извращаются чтобы предотвращать повторные вызовы компонентов.
🦜
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
Не везде такое подходит. Если делать магазин, то нужно
Danila
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
Звучит очччч крайнекейсово, не?
Igor
зачем редакс, если можно хранить все в window?
Андрей
Не надо описывать connect, типизируется проще.
Типизируется так же отвратительно.
Sergey
Не надо описывать connect, типизируется проще.
ну то есть бойлерплейта особо меньше не стало
Daniil
Звучит очччч крайнекейсово, не?
это скорее кринж какой - то или очень ситуативный кейс
Andrey
Не надо описывать connect, типизируется проще.
но боли в виде бойлерплейта эшкенов и т.д. осталось крайне много
🤴👷‍♂️🦸‍♂️🧚‍♀️
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
Что у вас сейчас?)
Sergey
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
ну вообще смешно. но сейчас на работе тимлид и архитектор и предложил чуваку затащить эффектор в проект с graphql и контекстами разработчик вроде бы радуется, что стало проще, понятнее и кода меньше
🦜
Хз, сейчас таких проблем не испытываю.
ты просто не знаешь, что можно иначе. Привычка же
Daniil
Что у вас сейчас?)
Конечно редакс, все очень вкусно 🤔
Sergey
Поддерживаю. У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было. Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось. Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс. Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
Всё в адресную строку не засунешь.
Daniil
Всё в адресную строку не засунешь.
Эти вопросы автору надо задавать)
Max
Типизируется так же отвратительно.
Не знаю, что может быть проще, чем затипизировать один единственный диспатч.
Sergey
Хз, сейчас таких проблем не испытываю.
до тех пор пока не попробуешь как ещё можно
arthur
Всё в адресную строку не засунешь.
так автор же написал — Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.!
🦜
Всё в адресную строку не засунешь.
все нет, но иногда стейт в строке годная тема
Sergey
эффектор щас с сср теплее редакса?
нет. пока что хорошего готового решения нет. поэтому всем кто хочет SSR, предложу посмотреть на reatom
Sergey
в reatom сделать SSR ровно также как в ридаксе
Daniil
Однажды как будет новый проект надо будет потыкать
artalar
Ток работают чуть правильнее
Max
Покажи типизацию диспатча.
const useTypedDispatch = () => useDispatch<Action>()
Андрей
const useTypedDispatch = () => useDispatch<Action>()
У меня 180 экшенов где-то. Покажи как ты определяешь Action.
Sergey
господи, они удалили useActions ну че за пиздец
Daniil
у них вроде одно время ишью с ним были
Sergey
господи, они удалили useActions ну че за пиздец
в reatom есть useAction который вполне удобен
artalar
да
const fetchData = declareAction( (payload, store) => anySideEffect ) 1. на fetchData можно подписаться 2. fetchData логируется в девтулзах 3. перечисленные функции в fetchData вызываются после того как стор обновился
Sergey
Поэтому наркоманим
там же есть рецепт
Sergey
мне даже лень разбираться в чем разница
Sergey
так автор же написал — Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.!
Я потерялся кто автор. Для справки: у нас состояние в адресной строке хранится (на старом стеке). Не нужно прыгать из крайности в крайность. В адресной строке нужно хранить только глобальные вещи, которые будут полезны для восстановления состояния на клиенте при шаринге (например: выбранные фильтры). Отказ от Редакс, Эффектор, Реатом или чего-то другого в пользу url не правильно и не логично. Это тоже самое, что говорить "Зачем Редакс, когда есть контекст"
Андрей
там же есть рецепт
Передавать массивом не хочу. Для набора функций объект куда лучше, имхо.
Max
У меня 180 экшенов где-то. Покажи как ты определяешь Action.
type Action = Action1 | Action2 и тд. Каждый тип тоже группирует типы если надо.
Андрей
type Action = Action1 | Action2 и тд. Каждый тип тоже группирует типы если надо.
Не знаю, что может быть проще, чем затипизировать один единственный диспатч. Человеческая ошибка? Да не, не может быть.
artalar
Поэтому наркоманим
У меня тоже все просто https://github.com/artalar/reatom/blob/master/packages/react/src/index.ts#L115
artalar
У меня тоже все просто https://github.com/artalar/reatom/blob/master/packages/react/src/index.ts#L115
Правда вот это может мозг взрывать немноженько
artalar
ts-ignore 😄
мне норм
artalar
главное что бы инферы работали (и они работают)
Андрей
Пример ошибки?
Типы экшен креаторов случайно одинаковыми окажутся.
artalar
зачем ты все усложняешь?
Сейчас сам посмотрел и понял что одной тернаркой можно обойтись...
artalar
наверно, надо проверять
Андрей
наверно, надо проверять
Пишешь тесты на типы?)
Sergey
Пишешь тесты на типы?)
Нет. Но уже несколько раз была мысль, что нужно снапшотить ошибки.
Sergey
Valentin
Правда вот это может мозг взрывать немноженько
я так разок написал, был оч рад. после работал с такой приблудой (тернарные типы) только я, и то, пару раз =/ Уж слишком красива!!!
Max
Типы экшен креаторов случайно одинаковыми окажутся.
Возможно на средних и крупных проектах. Я креаторами не пользуюсь, типы именую с префиксами компонентов / сервисов. Пока с такими проблемами не сталкивался.