Мы много говорим о реактивном программировании в сфере Angular. Реактивное программирование и Angular 2, кажется, идут рука об руку. Однако для тех, кто не знаком с обеими технологиями, может оказаться довольно сложной задачей понять, о чем идет речь.

Что такое реактивное программирование?

Реактивное программирование — это термин, который вы часто слышите в наши дни, но что он на самом деле означает?

Реактивное программирование — это способ, которым приложения обрабатывают события и потоки данных в ваших приложениях. В реактивном программировании вы проектируете свои компоненты и другие части своего программного обеспечения, чтобы реагировать на эти изменения, а не запрашивать изменения. Это может стать большим сдвигом.

Как вы, возможно, знаете, отличным инструментом для реактивного программирования является RxJS.

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

Реактивное программирование — это изменение способа взаимодействия между различными частями приложения. Вместо того, чтобы отправлять данные непосредственно в компонент или службу, которая в них нуждалась, в реактивном программировании именно компонент или служба реагирует на изменения данных.

Что такое NGRX?

Ngrx — это группа библиотек Angular для реактивных расширений. Ngrx/Store реализует шаблон Redux с использованием хорошо известных наблюдаемых объектов RxJS Angular 2. Он обеспечивает несколько преимуществ, упрощая состояние вашего приложения до простых объектов, обеспечивая однонаправленный поток данных и многое другое. Библиотека Ngrx/Effects позволяет приложению взаимодействовать с внешним миром, запуская побочные эффекты.

Чтобы понять приложение, мы должны быстро погрузиться в основные концепции Redux.

Магазин

Хранилище можно рассматривать как базу данных на стороне клиента, но, что более важно, оно отражает состояние вашего приложения. Вы можете рассматривать это как единственный источник истины.

Это единственное, что вы изменяете, когда следуете шаблону Redux и модифицируете, отправляя ему действия.

Редуктор

Редюсеры — это функции, которые знают, что делать с данным действием и предыдущим состоянием вашего приложения.

Редьюсеры возьмут предыдущее состояние из вашего хранилища и применят к нему чистую функцию. Чистый означает, что функция всегда возвращает одно и то же значение для одних и тех же входных данных и не имеет побочных эффектов. В результате этой чистой функции у вас будет новое состояние, которое будет помещено в ваш магазин.

Действия

Действия — это полезная нагрузка, которая содержит необходимую информацию для изменения вашего магазина. По сути, действие имеет тип и полезную нагрузку, которую ваша функция редуктора будет использовать для изменения состояния.

Диспетчер

Диспетчеры — это просто точка входа для отправки вашего действия. В Ngrx есть метод отправки прямо в магазин.

ПО промежуточного слоя

Промежуточное ПО — это некоторые функции, которые будут перехватывать каждое отправляемое действие для создания побочных эффектов, даже если вы не будете использовать их в этой статье. Они реализованы в библиотеке Ngrx/Effect, и есть большая вероятность, что они понадобятся вам при создании реальных приложений.

Когда вы чувствуете, что состояние вашего приложения обновляется из разных источников, и оно начинает превращаться в беспорядок, Ngrx — это то, что вам нужно.

Для получения дополнительной информации и разработки реактивного приложения Наймите Angular Developer у нас, поскольку мы предоставляем вам высококачественный продукт, используя все новейшие инструменты и передовые технологии. Напишите нам в любое время по адресу — [email protected] или по скайпу: hkinfosoft.

Чтобы разработать собственное веб-приложение с использованием Angular, посетите нашу технологическую страницу.