Angular Addicts #21: signal stores, router unit testing & more
Tags: angular, typescript, ngrx, javascript
Published: 2024-01-03 09:49:08

---
title: Angular Addicts #21: signal stores, router unit testing & more
published: true
description: My favorite Angular resources of December, 2023
tags: #angular #typescript #ngrx #javascript
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/82tnsln96hh9omq1xqpy.png
canonical_url: https://www.angularaddicts.com/p/angular-addicts-21-signal-stores
# Use a ratio of 100:42 for best results.
# published_at: 2024-01-03 09:45 +0000
---


## 👋Hey fellow Angular Addict

This is the 21st issue of the Angular Addicts Newsletter, a monthly collection of carefully selected Angular resources that got my attention. (Here are the [20th](https://www.angularaddicts.com/p/angular-addicts-20-signal-store-extensions), [19th](https://www.angularaddicts.com/p/angular-addicts-19-angular-17), and [18th](https://www.angularaddicts.com/p/angular-addicts-18-new-control-flow) issues.)


## 💎Angular Gems of December, 2023


### 📰[A change detection, zone.js, zoneless, local change detection, and signals story](https://itnext.io/a-change-detection-zone-js-zoneless-local-change-detection-and-signals-story-9344079c3b9d)

[Enea Jahollari](https://twitter.com/Enea_Jahollari) takes a deep dive into Angular's change detection system, he explains:



* How change detection works with synchronous and asynchronous code
* What the role of Zone.js is
* How component dirty marking works
* How the OnPush change detection strategy and the async pipe work
* How change detection with Signals works, local change detection

---

### 📰[Testing routed components with RouterTestingHarness](https://dev.to/this-is-angular/testing-routed-components-with-routertestingharness-22dl)

This is the fifth part of [Lars Gyrup Brink Nielsen](https://mastodon.nu/@LayZee)'s "Angular router testing" series:



* [Testing Angular routing components with the RouterTestingModule](https://dev.to/this-is-angular/testing-angular-routing-components-with-the-routertestingmodule-4cj0)
* [Testing routed Angular components with the RouterTestingModule](https://dev.to/this-is-angular/testing-routed-angular-components-with-the-routertestingmodule-1791)
* [Testing Angular route guards with the RouterTestingModule](https://dev.to/this-is-angular/testing-angular-route-guards-with-the-routertestingmodule-45c9)
* [Testing Angular routing components with RouterTestingHarness, provideLocationMocks, and provideRouter](https://dev.to/this-is-angular/testing-angular-routing-components-with-routertestingharness-providelocationmocks-and-providerouter-oi8)
* [Testing routed components with RouterTestingHarness](https://dev.to/this-is-angular/testing-routed-components-with-routertestingharness-22dl)

In this latest article, Lars explains how to use the `RouterTestingHarness` with a router based on the [Tour of Heroes router tutorial](https://angular.io/guide/router-tutorial-toh).

---


### 📰[The NGRX Signal Store and Your Architecture](https://www.angulararchitects.io/en/blog/the-ngrx-signal-store-and-your-architecture/)

[Manfred Steyer](https://twitter.com/ManfredSteyer) wrote a four-part long series about NGRX Signal Stores:



* [The new NGRX Signal Store for Angular: 3+n Flavors](https://www.angulararchitects.io/en/blog/the-new-ngrx-signal-store-for-angular-2-1-flavors/)
* [Smarter, Not Harder: Simplifying your Application With NGRX Signal Store and Custom Features](https://www.angulararchitects.io/en/blog/smarter-not-harder-simplifying-your-application-with-ngrx-signal-store-and-custom-features/)
* [NGRX Signal Store Deep Dive: Flexible and Type-Safe Custom Extensions](https://www.angulararchitects.io/en/blog/ngrx-signal-store-deep-dive-flexible-and-type-safe-custom-extensions/)
* [The NGRX Signal Store and Your Architecture](https://www.angulararchitects.io/en/blog/the-ngrx-signal-store-and-your-architecture/)

In the latest article of his series ([The NGRX Signal Store and Your Architecture](https://www.angulararchitects.io/en/blog/the-ngrx-signal-store-and-your-architecture/)), he focuses on the following architectural questions: Where to put the signal stores? How large should a store be? Is a store allowed to access other stores? Can a signal store be used for global state? Can a signal store be used together with or instead of the traditional Redux-based NGRX Store?

---


### 📰[Navigating the Nuances of toSignal in Angular: What to Know](https://netbasal.com/navigating-the-nuances-of-tosignal-in-angular-what-to-know-e4d6a4b5dfaf)

In his blog post, [Netanel Basal](https://twitter.com/NetanelBasal) explains how to mitigate the following issues with the `toSignal` in root level provided services:



* Instant subscription
* Subscription leaks in root services

---


### 📰[Unleashing the Power of JavaScript: Advanced Closures for Efficient and Elegant Code in Javascript](https://medium.com/angular-simplified/a-comprehensive-guide-to-mastering-advanced-closures-for-efficient-and-elegant-code-in-javascript-de4b4873d62a)

In his blog post, [Vamsi Krishna Kodimela](https://twitter.com/vamsi_kodimela) explains what closures are, and how to use them to:



* Create factory functions
* Do currying
* Implement memoization
* Handling events

---


## 👨‍💻About the author

My name is [Gergely Szerovay](https://www.linkedin.com/in/gergelyszerovay/), I work as a frontend development chapter lead. Teaching (and learning) Angular is one of my passions. I consume content related to Angular on a daily basis — articles, podcasts, conference talks, you name it.

I created the Angular Addict Newsletter so that I can send you the best resources I come across each month. Whether you are a seasoned Angular Addict or a beginner, I got you covered.

Next to the newsletter, I also have a publication called — you guessed it — [Angular Addicts](https://angularaddicts.com/). It is a collection of the resources I find most informative and interesting. Let me know if you would like to be included as a writer.

Let’s learn Angular together! [Subscribe here](https://www.angularaddicts.com/) 🔥

Follow me on [Substack](https://www.angularaddicts.com/), [Medium](https://medium.com/@GergelySzerovay), [Dev.to](https://dev.to/gergelyszerovay), [Twitter](https://twitter.com/GergelySzerovay) or [LinkedIn](https://www.linkedin.com/in/gergelyszerovay/) to learn more about Angular!


## 🕹️Previous issues

If you missed the previous issues of the newsletter, you can read them [here](https://www.angularaddicts.com/t/angular-addicts-monthly), these are the latest 3 issues:



* [Angular Addicts #20: unit testing the new defer blocks, NGRX Signal store extensions, app architectures & more](https://www.angularaddicts.com/p/angular-addicts-20-signal-store-extensions)
* [Angular Addicts #19: Angular 17, NX 17, Storybook 7.5 & more](https://www.angularaddicts.com/p/angular-addicts-19-angular-17)
* [Angular Addicts #18: Angular 17's New control flow and View transitions, Incremental static regeneration & more](https://www.angularaddicts.com/p/angular-addicts-18-new-control-flow)


## 📨 Submit your Angular resource

Have you found or written an interesting Angular-related article, tweet or other resource lately? Please let me know here in the comments or send me a DM on [Twitter](https://twitter.com/gergelyszerovay)! I might feature it in the next Angular Addicts issue!