Redux в Web-разработке: Решение Проблем Управления Состоянием в Сложных Приложениях

廣告

К сожалению, это также означает, что мне пришлось познакомиться с нюансами и особенностями поведения различных инструментов сборки и сред выполнения. React Cosmos лучше использовать для redux что это работы с приложениями корпоративного уровня. Разделение проекта на небольшие многократно используемые компоненты дает возможность писать качественный код, который легко поддерживать.

Это упрощает график зависимостей и упрощает понимание.Вот статья о важности графа зависимостей . На самом деле не так много больших и открытых кодовых баз, чтобы черпать вдохновение.Наиболее заметные примеры, которые я нашел, -это Kalypso от Automattic. Но когда приложение становится нагруженным, тогда стоит внедрить Redux в целях повышения производительности. А ещё Redux любят за то, что можно быстро изучить основы и выйти на рынок труда.

首頁橫幅

Экосистема пакетов Redux¶

Также я работаю и с другими инструментами, вроде Material UI. Я их изучил, создал с их помощью несколько приложений и реализовал пару небольших проектов, после чего решил поделиться результатами. Одним из самых важных правил было module-boundaryправило пуха.
Redux особенности инструмента
Поэтому рассмотрим более мощный вариант, объединяющий в себе генерацию и создателей действий и редьюсера — функция createSlice. Теперь у вас установлены Redux и react-redux, и вы можете начать использовать их в вашем проекте для управления состоянием и интеграции Redux в React-приложение. Все данные о состоянии приложения хранятся в одном месте, без копий. Глобальное состояние организовано как дерево объектов и называется state tree. Также используются термины «источник состояния» и «хранилище».

廣告

Redux

Эту реализацию удобно применять в веб-приложениях для управления общим глобальным состоянием. У неё есть специальная привязка для использования с React, о которой мы поговорим позднее. А также позволяет более удобно включить расширение Redux DevTools, используя функцию composeWithDevTools из пакета redux-devtools-extension. Все вышесказанное свидетельствует о том, что использование данной функции позволяет сделать код более компактным и понятным. Рассмотрим использование библиотеки Redux Toolkit на примере фрагмента реально используемого React Redux приложения.
Redux особенности инструмента
Или за то, что здесь есть функции logging, hot reloading, time travel, universal apps, record и replay. Переменные, объявленные с помощью let доступны только в пределах блока кода, в котором они были объявлены. Допустим, вы создаёте цикл в функции и хотите, чтобы переменная i осталась в этой функции.

История проблемы¶

Честно говоря, мне казалось, что это выглядит уродливо и нелепо, и я совсем не хотел использовать это расширение. Сторонники Redux (в первую очередь Дэн Абрамов и Эндрю Кларк, а теперь Тим https://deveducation.com/ Дорр и, собственно, я) всегда говорили, что Redux вам может и не понадобиться. Для его применения есть отличные причины, но необязательно, что конкретно в вашем случае это лучшее решение.

Когда reducer узнает что нужно что-то сделать, он вернёт вас в позицию new state. Согласно документации, Redux − это предсказуемый контейнер состояния для JavaScript-приложений. На самом деле суть Redux в том, чтобы приручить того самого кота из коробки, а точнее сделать так, чтобы приложения работали последовательно. Кроме этого, у него есть много других преимуществ, но об этом позже. Нажимая «Продолжить», вы принимаете условия Пользовательского соглашения, Политики конфиденциальности и Политики использования файлов cookie LinkedIn.

В этом примере мы создали хранилище Redux и объединили редюсеры для пользователей и счетчика. Замените userReducer и counterReducer на ваши собственные редюсеры.
Redux особенности инструмента
Кроме того, у нас было много работы над функциями RTK. В начале этого года я начал работать над попыткой обновить формат пакетов для библиотек семейства Redux, чтобы обеспечить им “полную совместимость с ESM”. Мне кажется, что я наконец-то придумал набор конфигураций, которые, похоже, работают достаточно хорошо, но это было непросто. В течение последних 8 с лишним лет экосистема JS медленно переходила к использованию ES-модулей (“ESM”) в качестве стандартного подхода к публикации и использованию JS-кода. Подобно переходу Python 2→3, это было невероятно сложно и болезненно. Подробности о болезненном опыте и извлеченных уроках, которые я получил, перенося пакеты Redux на ESM. 

Comments

comments

廣告

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *