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