Nikolai
а как надо?
useReducer для сложного стейта
Саша
а как надо?
Не знаю как надо = ) Но я бы дробил на мелкие сторы )
Misha
понял, спасибо)
Mike
а как надо?
Я бы обернул еще в useCallback что бы не создавать функцию на каждом рендере и использовал setState с функцией внутри, параметр которой стейт и там его дополнял
Mike
И да, они сами в доках пишут, что надо мыслить теперь по другому, это какой то чисто компонент класс, а не хук(или функциональный), почему не использовать класс?
Misha
да
G.
почему setState не присваивает answer аргументу который я передаю в функцие?
А зачем такой useEffect, эти начальные значения можно сразу в useState задать. И у тебя eslint правила для хуков включены?
Roman
почему setState не присваивает answer аргументу который я передаю в функцие?
потому что у тебя функция setUserAnswer не вызывается нигде
Anonymous
redux thunk - нужен для переноса бизнес логики из middleware в actions? Благодарю!
Roman
redux thunk - нужен для переноса бизнес логики из middleware в actions? Благодарю!
не ну можно и так это описать :) обычно с thunk сталкиваются раньше чем с миддлварами
Anonymous
Здравствуйте, кто-нибудь реализовывал плавное удаление элемента массива в react? Загвостка в том, что при добавлении класса он добавляется всем элементам массива, а не нужному элементу
Roman
Зачем think если есть middleware?
если залезть в исходники, то можно узнать, что thunk - это и есть миддлвер для диспача функций
Kurzdor
Не знаю как надо = ) Но я бы дробил на мелкие сторы )
Надо не делать обьект иначе при каждой проверке {} === {} равно false, даже если они не изменились, подробнее why-did-you-render в гитхабе поищите
Roman
И почему thunk раньше?!
потому что обычно идёт так - чтобы сделать измнение в стейте используй action - если action должен быть асинхронным - используй thunk
Anonymous
потому что обычно идёт так - чтобы сделать измнение в стейте используй action - если action должен быть асинхронным - используй thunk
Странно. Может у кого так и есть. Как для меня, размазывать логику по actions - странная идея.
Anonymous
)
Sergey
А где должна быть?
доселе точно неизвестно))
Kurzdor
Kurzdor
Буду рад услышать почему
Matvey
Бизнес логику стоит выносить из компонентов. Нахуя? Не ебу
Это как объяснять, что такое точка или линия в геометрии
Matvey
Связи не понимаю
Очевидные понятия =)
Michail
привет всем есть ли какой-то способ устанавливать реакт хуки во время клика? или обязательно чтобы они уже были в компоненте перед mount'ом?
Matvey
Буду рад услышать почему
Например, потому что когда у тебя логика внутри компонентов, то её никак нельзя переиспользовать в других компонентах, кроме копипаста
Anonymous
А где должна быть?
IMHO логика - в middleware
GG
Привет. Зачем нужен редакс реселект?
Anonymous
Привет. Зачем нужен редакс реселект?
Для управления состоянием
Michail
Тоестб после клика на кнопку запускать хук? Самопис
У меня есть попандер а там стэйт хук
Matvey
IMHO логика - в middleware
Мидлвар между чем и чем?
GG
мемоизация
Подробнее можно пожалуйста. Желательно привести пример
GG
Аналог react.useMemo для redux
Реакт-редакс это сам может
Kurzdor
Реакт-редакс это сам может
Нет, ему нужно помочь
Sergey
Реакт-редакс это сам может
скорее тогда уж наоборот, не?)
GG
Он не будет обновлять компонент, если часть стейта на который подписан компонент не обновился
Kurzdor
useSelector смотрим
GG
https://codesandbox.io/s/todos-xwgyb
GG
Вот пруф. Смотрите в консоль
GG
То есть вы, использовали реселект ради того чтоб не тригерились компоненты, и не знали что реакт-редакс это из каробки может? Ну вы лохи)
Anonymous
Сколько же всего нужно сделать для изменения вывода постов...
Anonymous
https://youtu.be/d2Z1D5Jvajc
Anonymous
Почему так все сложно блин, столько действий? Не то что сложно, но даже не хочешь по 10 раз пересматривать, т.к логика почему там много всего совершенно не усваиваеться. Хочется взять, скопировать весь этот код и только менять значения в массиве в зависимости от другого апи и контента 🙈
Roman
есть где-то песочница PropTypes потестировать?
Тимофей 🛴
Привет. Зачем нужен редакс реселект?
Что бы мемоизировать тяжелые селекторы
Roman
Что бы мемоизировать тяжелые селекторы
не только. чтобы их вообще иметь - эти селекторы
Kurzdor
🌝
🌚
Anonymous
Sergey
не только. чтобы их вообще иметь - эти селекторы
вообще их иметь ничто не мешает и без реселекта
Daniil
не только. чтобы их вообще иметь - эти селекторы
Ты можешь и без реселекта работать
Daniil
shallowEqual
Roman
ладно, это правда, просто обычно все приходят к тому, что зачем иметь своё - если есть реселект
Andrii
Народ, почему useEffect автоматически добавляет вторым аргументом функцию (get API), объявляю её в этом же компоненте.
Roman
своё что?
вначале пишут просто mstp, затем понимают, что надо выносить в функции - выносят. потом понимают, что хорошо бы как-то формализовать создание зависимых селекторов и в результате получается, что кроме как отсутствием мемоизации твой код не отличается от реселекта
Andrii
eslint autofix может быть?
eslintа нет вроде бы, он вторым аргументом добавляет мне её же, естественно проект зацикливается.
Roman
mstp это шо?
mapStateToProps
Roman
eslintа нет вроде бы, он вторым аргументом добавляет мне её же, естественно проект зацикливается.
он зацикливается, потому что getApi у тебя меняется. ее надо стабилизировать через useCallback
Sergey
mapStateToProps
ну в итоге не всегда нужны зависимые селекторы. Много проектов с плоскими данными, например
Anonymous
Всем привет! Помогите с ошибкой пожалуйста. Все компилируется, но…браузер ругается
Sergey
телепат поди?
Roman
🤔 как ты понял его вопрос?
вопрос у него не в этом)) но ситцация ясна)