Roman
Чтобы в редаксе хранить состояние роутинга
Нет, я это понимаю. Но как это можно практически использовать в приложении?
Александр
Чтобы получать состояние из одного источника (redux store в данном случае)
Александр
Иначе как вы в редьюсере или в миддлваре получите состояние роутинга
Roman
Все, понял. Однонаправленный поток данных
Roman
Спасибо.
Александр
Все, понял. Однонаправленный поток данных
Он и так однонаправленный был, тут скорее держать все яица в одной корзине желание
Александр
Single source of truth
Vlad
Роутер, если не ошибаюсь, скорее для отрисовки нужного компонента без перезагрузки страницы) а вы будто бы о провайдере говорите
Vlad
О пропущенной запятой?))) Ок, в переписку я особо не лез, так что точно не знаю в чем суть вопроса была)
Александр
Пятница вечер, могут что-то путать. Алкоголизм блин(
Китикет
Имхо нахер не нужно состояние роутинга сувать в стор
Александр
Имхо нахер не нужно состояние роутинга сувать в стор
Я отвечал на вопрос в чем причина существования всяких redux-react-router
Александр
Суббота
Плохо дело
Roman
Александр
Freelance?))
Слава богу нет, на дядю работаю
Vlad
Бля, уже и суббота на исходе...все очень плохо) притормозите время, я отдыхать не успеваю
Roman
I know that feel bro
Not only you :/
Vlad
😭
Александр
Нервы не восстанавливаются (ну так мне говорили)
Mihail
Смотрел видео Климова про управление состоянием. Он жаловался, что архитектура Flux плоха тем, что она синхронная. Что вы об этом думаете?
Vlad
Кстати, есть вопросик раз уж тут кто то сидит, вместо того чтобы лежать лицами в салатах на минском море каком... у меня есть логинка. Пароль/имеил. Есть отдельный кусочек стэйта в котором под ключом логин, лежит хэш, в который по ончэндж событию инпутов попадает то что вводят в эти поля, при этом в самом же редьюсере и валидируются сразу же..если вводимые данные не валидны, они сохраняются, но меняется еще одно значение под ключом исвалид пасс и мэил. На кнопке логин тупо стоит дисэйбл пока селектор дергая значения исвалид не будет тру для обоих полей. И вот в чем трабла...пароль чекаетсч тернаркой и должен быть от 8 символов без пробелов, но получается так, что значение в исвалид меняется не сразу, а например, после 9 символа. Вота фак
Александр
Александр
Ну в вопросе Vlad Kozlovskiy упомянул
Александр
Я не слежу за трендами, мог что-то упустить, я слоу
Vlad
ладно, суть в чем..есть логинка. У инпута по событию ончэндж есть акшн который принимет значение инпута и записывае его в стэйт при этом сразу же валидируя..должно быть от 8 символов без пробелов. Значения записываются в стэйт независимо от самой валидации, но если оно не валидно, под ключом пассИзВэлид меняется значение с тру на фосл и наоборот. Проблема заключается в том, что даже если в валидации прописать мол если длинна строки (пароль в качестве строки) после трим >= 8 и не содержит пробелов, то исВалидПасс = тру. И вот проблема..по идее, ончэндж срабатывает при любой активности в инпуте, и каждый раз должен валидироваться, а на деле получается так, что в изВалид значение меняется, допустим, после 9 символа, или даже после 10 введённого.
Vlad
Есть у нас свое море, и если что, америка пришлёт туда 6-ой флот..новости не читал что ли)
Dzmitry
Ну в вопросе Vlad Kozlovskiy упомянул
Заславское водохранилище
Александр
Надеюсь что не дойдёт до вторжения иностранного флота
Vlad
да ты издеваешься) там куча папок и файлов) у меня для каждого компонента есть своя папка с 3 файлами, есть папка для редакса с 3 файлами)
Александр
ладно, суть в чем..есть логинка. У инпута по событию ончэндж есть акшн который принимет значение инпута и записывае его в стэйт при этом сразу же валидируя..должно быть от 8 символов без пробелов. Значения записываются в стэйт независимо от самой валидации, но если оно не валидно, под ключом пассИзВэлид меняется значение с тру на фосл и наоборот. Проблема заключается в том, что даже если в валидации прописать мол если длинна строки (пароль в качестве строки) после трим >= 8 и не содержит пробелов, то исВалидПасс = тру. И вот проблема..по идее, ончэндж срабатывает при любой активности в инпуте, и каждый раз должен валидироваться, а на деле получается так, что в изВалид значение меняется, допустим, после 9 символа, или даже после 10 введённого.
Почему не сделать так, у вас есть форма, у формы есть стейт, состоящий из данных и ошибок, при вводе данные пишутся в данные, а валидация синхронно пишет в ошибки если что не так, при сабмите формы смотрим чтобы ошибок было нуль, и отправляем
Vlad
эм, так вроде так и написано)
Dzmitry
Сайд эффекты в редьюсерах - плохо
Dzmitry
Перепиши с локальным стейтом, зачем это?
Vlad
с локальным?) И через сэт стэйт изменения сохранять, функции валидации в компоненте...чудесно, но это уже не редакс будет, а мне именно на редаксе реализовать нужно
Александр
Maksim
Где вы их там увидели?
Vlad
и мне интересно?)
Mihail
Редьюсер обязан быть чистой функцией
Mihail
Иначе какое управление состоянием вообще
Mihail
Если может что угодно произойти
Maksim
В приведённом выше коде он чище некуда
Maksim
Sarcasm?
В смысле? Я пытаюсь найти там хоть один сайд эффект, но не вижу
Mihail
Почему не валидировать локально?
Vlad
с чего он грязный? он не извеняет сам стэйт, он каждый раз возвращает новый...что там грязного?
Mihail
Почему не валидировать локально?
В чем прикол выносить это в редакс?
Vlad
ну, в том что все приложение завязано на редаксе...ты либо пишешь на нем либо на чистом реакте
Mihail
Вещи, которые не нужны больше нигде не обязаны выноситься в стор
Mihail
Ты стейт модалки на какой-то из 100 страниц будешь тоже в редаксе хранить?
Mihail
Не логично
Maksim
В чем прикол выносить это в редакс?
Бизнес логика в редаксе, в чем проблема?
Vlad
только мне с ними дальше работать и в локал стор сэйвить и проверять при логине данные аля, есть такие значения в локале ил нет и так далее
Mihail
Бизнес логика в редаксе, в чем проблема?
Валидировать локально и отправлять в стор?
Maksim
Валидировать локально и отправлять в стор?
Валидация это бизнес логика, что ей делать во вью слое?
Vlad
и как ты после локальной валидации и сэйва в локале, отправишь их сразу же после этого в редакс стор...выйдет, как по мне, куда хуже)
Frontend Priest
с чего он грязный? он не извеняет сам стэйт, он каждый раз возвращает новый...что там грязного?
это называется "иммутабельный", и с чистотой оно связано примерно как тёплое с мягким
Mihail
Чистота - единственное значение аргумента соответствует единственному значению функции
Vlad
окей...он у меня работает исключительно с тем что к нему приходить в качестве аргументов, где он у меня грязный? Так лучше?) Суть не собо поменялась в ответе, проблем с редьюссером тут я не вижу
Vlad
мы вообще отдалились от темы трабла, мне кажется 😂
Frontend Priest
ладно, суть в чем..есть логинка. У инпута по событию ончэндж есть акшн который принимет значение инпута и записывае его в стэйт при этом сразу же валидируя..должно быть от 8 символов без пробелов. Значения записываются в стэйт независимо от самой валидации, но если оно не валидно, под ключом пассИзВэлид меняется значение с тру на фосл и наоборот. Проблема заключается в том, что даже если в валидации прописать мол если длинна строки (пароль в качестве строки) после трим >= 8 и не содержит пробелов, то исВалидПасс = тру. И вот проблема..по идее, ончэндж срабатывает при любой активности в инпуте, и каждый раз должен валидироваться, а на деле получается так, что в изВалид значение меняется, допустим, после 9 символа, или даже после 10 введённого.
лучше вынеси в обёртку или сделай декоратор-валидатор, как это обычно происходит
Frontend Priest
не надо валидацию каждой мелочи выносить аж до глобал стейта
Mihail
мимо
Неа
Mihail
Сайд эффекты это само собой
Mihail
Разумеющееся