создания общего хранилища данных для дерева компонентов, но большинство из них или устарели или резко критикуются в комментариях. Подскажите пожалуйста, как новичку в React, где найти актуальную информацию на эту тему?
Используй стейт менеджер, effector, reatom, mobx, redux и тд
Для общего хранилища данных нет ничего лучше стейт-менеджера
https://gist.github.com/XaveScor/99431c573b53b8a0c41fb3b5fec522bc
В доке?
Так он не всегда нужен, мож человек хочет просто и лаконично
так там всё просто и лаконично
Я рассматривал redux, но он показался слишком громоздким - нужно подключать его, бибилиотеку типов для него, писать редьюсеры и всю остальную структуру. А задача сводится к sharing'у небольшого количества данных.
Ну используй тогда просто React.Context и всё, информация в доке реакта
Ну по факту это выливается все равно в много букв, плюс надо теорию понимать, редьюсеры там всякие, подписывать хуками на это все как-то
Контекст хорош, но проблемы начнутся с отслеживанием асинхронщины. Если не имплементировать чьи-то готовые решения.
Да, мне нужно бы попроще. Приложение небольшое.
Экшны, экшнКриэйтеры, думать что в стор положить, что не положить
Используй reatom
не редаксом единым
Возможно тогда стоит все-таки подключить redux, как думаете?
Я тоже нуб, Реакт+Редакс, другого не знаю
Какого рода проблемы?
https://t.me/react_js/1137696
Если тебе не важно что, и ситуация позволяет, то возьми любой из предложенных СТМов, который НЕ редакс. С редаксом скорее всего так или иначе столкнешься, зато у тебя будет опыт в чем то еще и видение на то хорошо Редакс или нет, удобный или есть что то еще. Чтобы потом не было чего то типа "я ток редакс умею, остальное не оч, пробовать зачем, весь рынок в редаксе"
Отмена запроса по действию пользователя, например. У меня больше проблем не возникло, т.к. я не усложняю логику. Плюс использования чистого контекст апи - простая кодовая база.
Спасибо, посмотрю reatom завтра.
Мне нравится то, что контекст - встроенная функциональность. Не нужно подключать дополнительных библитек. Поддержка будет такая же как и у самого фреймворка по скорости и качеству.
поддерживаю. но, в отличие от саг асинхронные экшены хз как тестировать (что важно для больших проектов). а, ну да, там же нет никаких асинхронных экшенов, ну нет экшенов - нет проблем.
Что будешь делать если контекст устареет?
По-моему, классы устареют раньше, за контекст можно не беспокоиться.
Вроде разработчики наоборот развивают хуки. Наверное ответ тот же что и если React устареет. Буду мигрировать со временем.
Хуки это не контекст
Использование контекста основано на хуках.
Эм, новый контекст появился в 16.3 а хуки в 16.8
Разве useContext не хук? Разве это не часть функциональности контекста?
Contex.Consumer был раньше
Это хук для контекста, но контекст можно использовать и без этого хука
Возможно я имею еще мало опыта и ошибаюсь.
Я пришел в React когда это все уже было, поэтому плохо знаю историю. Ну и опыта мало.
Обсуждают сегодня