• Post category:StudyBullet-9
  • Reading time:5 mins read


Creating mobile app with NGRX angular nativescript. Working with State in angular application within NGRX

What you will learn

How to work with ngrx

how to mange state with ngrx

how to create application with angular, nativescript and ngrx

how to use effect in ngrx

Description

This course is about how to work with ngrx angular nativescript. I will create a simple crypto mobile application with ngrx angular nativescript. You can find all code inside of course with github link.

What is NgRx?

NgRx is a framework for building reactive applications in Angular. NgRx provides libraries for:

Managing global and local state.

Isolation of side effects to promote a cleaner component architecture.

Entity collection management.

Integration with the Angular Router.

Developer tooling that enhances developer experience when building many different types of applications.

NgRx packages are divided into a few main categories


Get Instant Notification of New Courses on our Telegram channel.


State

Store – RxJS powered global state management for Angular apps, inspired by Redux.

Effects – Side effect model for @ngrx/store.

Router Store – Bindings to connect the Angular Router to @ngrx/store.

Entity – Entity State adapter for managing record collections.

ComponentStore – Standalone library for managing local/component state.

Data

  • Data – Extension for simplified entity data management.

View

  • Component – Extension for building reactive Angular templates.

Developer Tools

  • Store Devtools – Instrumentation for @ngrx/store that enables visual tracking of state and time-travel debugging.
  • Schematics – Scaffolding library for Angular applications using NgRx libraries.
  • ESLint Plugin – ESLint rules to warn against bad practices. It also contains a few automatic fixes to enforce a consistent style, and to promote best practice.
  • NgRx Store provides state management for creating maintainable, explicit applications through the use of single state and actions in order to express state changes. In cases where you don’t need a global, application-wide solution to manage state, consider using NgRx ComponentStore which provides a solution for local state management.

    When Should I Use NgRx Store for State Management?

    In particular, you might use NgRx when you build an application with a lot of user interactions and multiple data sources, or when managing state in services are no longer sufficient.

    A good guideline that might help answer the question, “Do I need NgRx Store?” is the SHARI principle:

    • Shared: state that is accessed by many components and services.
    • Hydrated: state that is persisted and rehydrated from external storage.
    • Available: state that needs to be available when re-entering routes.
    • Retrieved: state that must be retrieved with a side-effect.
    • Impacted: state that is impacted by actions from other sources.

    However, realizing that using NgRx Store comes with some tradeoffs is also crucial. It is not meant to be the shortest or quickest way to write code. It also encourages the usage of many files.

    It’s also important to consider the patterns implemented with NgRx Store. A solid understanding of RxJS and Redux will be very beneficial before learning to use NgRx Store and the other state management libraries.

English
language

Content

Introduction

Introduction
Structure of app
State of app
State Effect of app
Single responsibility principle
NGRX State Management Lifecycle
Overview

How to create simple crypto mobile application with ngrx

Introduction
Coin-list and detail component
Coins Component
Service and Reducer
Effects and Selector
Overview
Usefull links