Pull to refresh

Comments 9

Главный вопрос: чем этот пакет лучше, чем Redux?

Назначить в противники вещь с известным заметным шлейфом проблем и победоносно закатать её в асфальт — отличный риторический приём. Всегда работает. Даже на технарей.

Главный вопрос: а зачем этот пакет сравнивать именно с Redux? Это выглядит сравнением настоящего слона и фарфоровой статуэтки слона. И то и другое можно назвать «слон», но на этом сходства заканчиваются.

3) Снижаем количество повторных рендеров с помощью React.memo() and useCallback()

Каждый раз когда я читаю что-нибудь про state management и дохожу вот до таких вот примерчиков — меня начинает преследовать ощущение, что, простите меня за мой французский, меня где-то нае****.

Потому что когда мне нужен state management — он мне нужен вот как раз для этих вещей — убрать страдания над повторными рендерами и прочим накатыванием стейта подальше из значимого кода. Желательно в библиотеку, этому как раз там очень хорошее место. Нафига мне «стейт менеджмент», если мне после этого самого менеджмента всё равно надо закатывать солнце вручную, если я хочу эффективного рендера? Ах, в 200 пожатых байт ничего такого не впихнуть? Ну а зачем мне тогда 200 пожатых байт, если всё что они дают — это тоненький слой сахара?
Это выглядит сравнением настоящего слона и фарфоровой статуэтки слона.

Имхо, автор ставит целью показать, что слон во многих проектах вообще не нужен.

Каждый раз когда я читаю что-нибудь про state management и дохожу вот до таких вот примерчиков — меня начинает преследовать ощущение...

Не могу не согласиться. Впрочем, автору плюс, что он этот примерчик сразу честно приводит.
Подобное решение — абсолютный вендор-лок реакта для приложения. Любой стейт менеджер — это, в первую очередь, способ сделать модель данных и работу с ней обособленно от view. Хотя кто сейчас умет это готовить…

А вы просто перестаньте считать реакт View, и отнеситесь к нему как к фреймворку.


UPD: Решил пояснить свою мысль более подробно. Я не говорю что реакт это библиотека (хотя так считаю создатели самого реакта) как не говорю что он фреймворк.


Я скорее о том что его МОЖНО использовать и как то, и как это. На моей практике реакт использовался ближе к понимаю "фреймворк", и это прекрасно работало. Реакт это же не только (props, state) => UI.


Есть контекст, есть возможность использовать HOC для более сложной, чем UI логики. Есть кучу пакетов которые добавляют "фреймворкности" и которые неразрывно связаны с реактом, react-router например. Вы сами загоняете себя в рамки если всегда думаете в стиле "использую реакт только как View часть, чтоб можно было перейти". Вот в данной статье тоже самое, вам показали другой (и возможно более удобный для вашего проекта) стейт менеджер, а вы отказываетесь от него только по причине выше названой

Но зачем, если там помимо View ничего интересного нет? Из-за useState считать реакт чем-то шире чистой отображаловки? Ха. Ха.

Более того, реакт в качестве чистой отображаловки куда интереснее реакта для всего. Отображение — это очень сильная сторона в реакте, а всё остальное — на редкость неинтересное.
Думаю, просто стилистические предпочтения автора.
Я не стал в примерах ничего менять на свой вкус, это же перевод.

Недавно попробовал использовать это решение, и это ощущается супер удобным и логичным.
Просто "выносим" из компонента хук вместе со всем состоянием и используем везде, где нужно, и, что радует, можем пользоваться всеми возможностями, вроде useEffect, причем они продолжают работать и после unmount, если провайдер еще примонтирован.

Sign up to leave a comment.

Articles