Sygnały mogą zmienić części twojej bazy kodu na lepsze; dowiedzieć się, jak i dlaczego.

15 lutego 2023 roku zespół Angulara wprowadził Signals do frameworka za pomocą prostego żądania ściągnięcia. Od tego czasu w społeczności Angular toczą się ożywione dyskusje na temat jego zastosowania i korzyści. Wielu zaczęło nawet prototypować sygnały, aby wypróbować jego funkcjonalność.

Przyjrzyjmy się, jak działa ta nowa funkcja, jej składnia i sposób korzystania z niej po jej pełnym wdrożeniu.

Czym są sygnały?

Typ sygnału to nowy reaktywny prymitywny typ Angulara. Jego celem jest przechowywanie wartości, podobnie jak zmienna standardowa, ale cechą wyróżniającą sygnał jest jego unikalne zachowanie. Jeśli sygnał się zmieni, powiadomi o tym wszystko, co od niego zależy.

Dodatkowo Angular może wykorzystywać sygnały jako nowe podejście do wykrywania i wyzwalania zmian, zamiast obecnego domyślnego podejścia polegającego na brudnym sprawdzaniu całego drzewa komponentów.

Jak używać sygnałów w Angular

Sygnał będzie wyglądał mniej więcej tak:

@Część({
selektor: „moja-aplikacja”,
samodzielny: PRAWDA,
szablon: `
Liczba: {{ liczba () }} </div>
Podwójne: {{ podwójne () }} </div>

zmieńLiczbę() {
Ten.liczba.zbiór(5)
}
}

W tym komponencie aplikacji liczba zmiennych jest sygnałem inicjowanym wartością zero. count jest następnie przywoływany wewnątrz double (wartość obliczona) i szablonu. Tak więc, gdy kliknięcie przycisku ustawia wartość count na pięć, zarówno wartość obliczona (podwójna), jak i wartości w szablonie zostaną zaktualizowane.

Każda część Element kątowy zależny od sygnału zostanie automatycznie zaktualizowany po zmianie wartości.

Dlaczego wprowadzenie sygnałów jest ważne

Sygnały ułatwiają naukę i pracę z Angular. Przejście na sygnały jako nowy domyślny sposób uczenia się i budowania w Angular zharmonizuje proces uczenia się. Niezależnie od tego, czy wolimy bardziej imperatywny styl kodowania w Angular, czy też chcemy nauczyć się bardziej deklaratywnego stylu kodowania.

Większość ludzi zaczyna kodować w trybie rozkazującym, ponieważ jest to generalnie bardziej intuicyjne i znajome. Jednak przejście od podejścia imperatywnego do podejścia deklaratywnego pociąga za sobą zmianę paradygmatu i całkowitą zmianę naszego modelu mentalnego. Właśnie dlatego RX.js, biblioteka reaktywna, jest dla wielu trudna do nauczenia.

Sygnały połączą te dwa odrębne podejścia. Każdy może domyślnie nauczyć się sygnałów, zacząć poznawać koncepcje reaktywności i nawet nie martwić się o ich włączenie RX.js Angulara jeśli nie mogą lub nie chcą.

Kiedy już poczujesz się komfortowo z podstawy Angulara i chcesz przełączyć się na bardziej deklaratywny styl kodowania, możesz łatwo dodać RX.js do koncepcji, które już znasz.

Sygnały powinny poprawić programowanie kątowe dla każdego

Signals to nowy reaktywny mechanizm Angulara, którego można używać do tworzenia reaktywnych wartości do odczytania przez konsumentów. Sygnał natychmiast powiadamia wszystkich konsumentów o zmianie jego wartości. Sygnały harmonizują proces uczenia się Angular, łącząc imperatywne i deklaratywne podejście do kodowania.

Angular będzie polegał na sygnałach, aby wykrywanie zmian było lżejsze i bardziej niezawodne. Dlatego, jako programista Angular, nauczenie się używania sygnałów da ci lepsze zrozumienie reaktywności w Angular i uczyni cię lepszym programistą. Nie zapomnij opanować podstaw Angular przed poznaniem bardziej zaawansowanych części.