Дима
Лучше не добивайте
я просто больше не буду здесь ничего рекомендовать, зачем мешать людям влачить
Frontend Priest
Andrey
редакс головного мозга у людей 😕
Bohdan
Я буду. Юзайте effector, пацаны
Andrey
в соседнем чате тип назвавший эффектор бесполезным, и топящий за рхжс в итоге так и не привел кейс, в котором эффектор не затащил бы
Andrey
🤷🏻♂️
Anatoliy
Anatoliy
только жаль бан словил
Vlad
Ребят, столкнулся с такой проблемой, когда использую Redux hooks:
Есть два идентичных функциональных компонента, в каждом из них рендерится строка, которая лежит в redux store.
В первом компоненте я получаю поле стора с помощью HOC connect, а во втором присваиваю в переменную функционального компонента useSelector(state => state.field).
Проблема: при изменении redux store второй компонент показывает не всегда актуальные данные, как будто-бы что-то кешируется.
Как решить эту проблему? Спасибо
Andrey
Bohdan
Nick
народ, вы жесть какие токсичные
Nick
Eugene
Bogdan
Ведь так быстрее
🦜
Andrey
где
ну в жс_ру пару экранов наверх листани
Bogdan
твой код ансапортед щит
Какие реальные проблемы мы имеем при таком подходе почему код становится не поддерживаемым
🦜
Daniil
Ну так никитка это ангулярщик
Bogdan
Ну намного быстрее читать сделали запрос записали данные через редьюсер
Daniil
естесна
🦜
Bogdan
Ненадо лазить по файлам
Nikolai
🦜
Konstantin
Ненадо лазить по файлам
Зачем? И правда. Где мои фетчи в компонентДидМаунт??? Щас подебажу промис чейнинг в 5 шагов
🦜
Den
Подскажите либу для прогрессбара, отслеживающего скролл при прочтении страницы
Типа как здесь - https://sobakapav.ru/
Bogdan
Щас обнова накатится я скину пример
Konstantin
Ну так никитка это ангулярщик
Там с осознанием нужды СТМ проблемы серьёзные. Помню как месяц был один и тот же спор, и ангулярщик пытался залить, что локалСторейдж и прокидывание пропсов через роутер это норм и этого хватает с головой
Daniil
ы
🦜
Den
Думаю, там не пару строк..
Den
Ок, спасибо.
Bogdan
🅅aleriy
это же так замечательно вносить изменения в такой код когда у тебя в 100500 местах написано dispatch({ type: '....', .... })
Bogdan
дак по другому то у тебя будет просто dispatch(SOME_ACTION)
🅅aleriy
Bogdan
а как?
🅅aleriy
у меня будет реестр экшинов отдельно
🅅aleriy
с нормальными логичными для их назначения названиями
Bogdan
это понятно
Bogdan
семантика такая
🅅aleriy
и если что-то поменяется потом, я эти изменения в одном месте сделаю
Bogdan
тот же диспатч из компонента или нет?
Bogdan
так вот уже ближе к сути
Daniil
нет
🅅aleriy
так вот уже ближе к сути
суть в основополагающих принципах программирования скорее, а не в реакте или редаксе конкретно
🅅aleriy
есть всякие DRY, SOLID и прочие понятия
Bogdan
то есть это нужно только для того что если вдруг данные которые ты передаешь в редьюсер поменяются их легко можно было в одном месте поменять и не лазить везде где эти вызовы идут и менять
Bogdan
на сабеседованиях будете рассказывать про dry и солид
Anonymous
Привет! Кто то работал с react-treebeard ??
🅅aleriy
Bogdan
а сейчас нужно понимание и суть вопроса
Bogdan
🅅aleriy
я уже не говорю о том, что минимизирует риск ошибиться в названии типа в диспатче
Bogdan
просто при использовании экшонов у тебя проблема с асинхронностью появляется которую решать доп зависимостью придется(thunk/saga)
🦜
это вся разница?
у тебя в бандле всегда будет дублироваться строка, объект, потому что на никуда не вынесете и нет ссылки на нее
🅅aleriy
ты можешь тупо опечататься dispatch({ type: 'ACTION', { ... } })
вместо любой латинской буквы русскую напечатать элементарно
🅅aleriy
и потерять несколько часов в поисках ошибки
🦜
🦜
лан. чел не хочется учиться. чо время тратить
Bogdan
всмысле нехочу
🅅aleriy
а учитывая, что на проекте ты обычно не один, а например 3-5 фронтов работает
кто-то опечатался и привет....
Bogdan
я хочу понять все за и против)
Bogdan
я же не кнгфу изучаю
Bogdan
в ато в конце вы заставите меня полы мыть в ожидании понимания
Bogdan
как это в фильмах происходит)