התקנת @ngrx/store
This video explains how to set up a new Angular application and install @ngrx/store for state management, providing practical steps and best practices.
שהו שיעור עבודה עצמית שבו נעשה את הצעדים הבאים:
- יצירת אפליקציה אנגולר חדשה
- התקנת
@ngrx/store - התקנת
@ngrx/store-devtools - התקנת תוסף
Redux DevToolsבכרום - מילוי ה - state של ngrx עם נתונים
- בדיקת ה - state באמצעות Redux DevTools
בסופו של תהליך זה נקבל נקודת התחלה טובה לפרוייקט אנגולר ו - NGRX, כולל כלים מומלצים ושיטות טובות שיש להשתמש בהן.
יצירת אפליקציה אנגולר חדשה
Section titled “יצירת אפליקציה אנגולר חדשה”ניתן ליצור אפליקציה אנגולר חדשה באמצעות Angular CLI.
npx @angular/cli@latest new ngrx-store-install --minimal --style css --routing falseהפקודה תיצור אפליקציה אנגולר חדשה, ה - flag --minimal תיצור אפליקציה מינימלית עם מינימום קבצים (--inline-template, --skip-tests, --inline-style).
בנוסף בחרנו ליצור את האפליקציה עם סגנון css וללא routing.
OnPush
Section titled “OnPush”באפליקציות אנגולר עם NGRX תקבלו את הנתונים כ - Observable שמאפשר לאפליקציות אנגולר עם NGRX להיות אידיאליות לאסטרטגיית OnPush (בכל הרכיבים).
בקובץ app.component.ts נשנה את ה - changeDetection ל - OnPush.
import { ChangeDetectionStrategy, Component } from '@angular/core';
@Component({ ... changeDetection: ChangeDetectionStrategy.OnPush})export class AppComponent {}התקנת @ngrx/store
Section titled “התקנת @ngrx/store”כל אחת מספריות @ngrx/* יש להן פקודת ng add שתתקין את הספרייה ותוסיף קוד תבנית נוסף.
הריצו את הפקודה הבאה באפליקציה האנגולר שיצרתם:
npx ng add @ngrx/store@latest --skip-confirmationהרצת הפקודה תתקין את @ngrx/store ותוסיף את השינוי הבא לקובץ src/app/app.module.ts:
import {NgModule} from '@angular/core';import {BrowserModule} from '@angular/platform-browser';import {AppComponent} from './app.component'; import {StoreModule} from '@ngrx/store';
@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule BrowserModule, StoreModule.forRoot({}, {}) ], providers: [], bootstrap: [AppComponent],})שימו לב שהוספנו את NGRX StoreModule.forRoot({}, {}) למערך imports עם אובייקטים ריקים, שמשמע שיהיה לנו State ריק ב - NGRX.
התקנת @ngrx/store-devtools
Section titled “התקנת @ngrx/store-devtools”מומלץ לעבוד עם @ngrx/store-devtools באפליקציות Angular+NGRX שתאפשר לכם לבדוק את State של האפליקציה שלכם.
npx ng add @ngrx/store-devtools@latest --skip-confirmationהרצת הפקודה תתקין את @ngrx/store-devtools ותוסיף את השינוי הבא לקובץ src/app/app.module.ts:
import {NgModule} from '@angular/core';import {NgModule, isDevMode} from '@angular/core';import {BrowserModule} from '@angular/platform-browser';import {AppComponent} from './app.component';import {StoreModule} from '@ngrx/store';import {StoreDevtoolsModule} from '@ngrx/store-devtools';
@NgModule({ declarations: [ AppComponent ], imports: [BrowserModule, StoreModule.forRoot({}, {})], imports: [ BrowserModule, StoreModule.forRoot({}, {}), StoreDevtoolsModule.instrument({maxAge: 25, logOnly: !isDevMode()}) ], providers: [], bootstrap: [AppComponent],})שימו לב שהוספנו את StoreDevtoolsModule.instrument() למערך imports.
התקנת Redux DevTools בכרום
Section titled “התקנת Redux DevTools בכרום”כדי לבדוק את ה - state של האפליקציה שלכם תצטרכו להתקין את התוסף Redux DevTools בכרום.
לחצו על קישור זה והתקינו את התוסף בדפדפן שלכם.

בחינת ה - state באמצעות Redux dev tools
Section titled “בחינת ה - state באמצעות Redux dev tools”נמלא את ה - state שלנו עם נתונים ראשוניים, ונבדוק שאנו יכולים לבחון את הנתונים באמצעות Redux dev tools.
import {NgModule, isDevMode} from '@angular/core';import {BrowserModule} from '@angular/platform-browser';
import {AppComponent} from './app.component';import {StoreModule} from '@ngrx/store';import {StoreDevtoolsModule} from '@ngrx/store-devtools';
@NgModule({ declarations: [AppComponent], imports: [ BrowserModule, StoreModule.forRoot( { counter: () => 0, }, {} ), StoreDevtoolsModule.instrument({maxAge: 25, logOnly: !isDevMode()}), ], providers: [], bootstrap: [AppComponent],})export class AppModule {}שמנו בתוך ה - state שלנו את המידע counter: 0 (זה לא חשוב הדיוק בתחביר, נלמד על reducers מאוחר יותר).
בדיקת ה - state
Section titled “בדיקת ה - state”הריצו את האפליקציה:
npx ng serveפתחו את ה- Developer Tools של הדפדפן ותראו טאב חדש בשם Redux, כפתור זה התווסף לאחר התקנת התוסף Redux DevTools וניתן להשתמש בו כדי לבדוק את ה - state.

האפליקציה שיצרנו תהווה את הבסיס לכל התרגילים שתעשו בפרק ה - NGRX.
באפליקציה זו יש @ngrx/store וגם @ngrx/store-devtools מותקנים.
בנוסף יש תוסף Redux DevTools בכרום שמאפשר לבדוק את ה - state של האפליקציה שלכם.