Angular Addicts #21: signal stores, router unit testing & more

Gergely Szerovay - Jan 3 - - Dev Community

๐Ÿ‘‹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, 19th, and 18th issues.)

๐Ÿ’ŽAngular Gems of December, 2023

๐Ÿ“ฐA change detection, zone.js, zoneless, local change detection, and signals story

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

This is the fifth part of Lars Gyrup Brink Nielsen's "Angular router testing" series:

In this latest article, Lars explains how to use the RouterTestingHarness with a router based on the Tour of Heroes router tutorial.


๐Ÿ“ฐThe NGRX Signal Store and Your Architecture

Manfred Steyer wrote a four-part long series about NGRX Signal Stores:

In the latest article of his series (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

In his blog post, Netanel Basal 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

In his blog post, Vamsi Krishna 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, 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. 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 ๐Ÿ”ฅ

Follow me on Substack, Medium, Dev.to, Twitter or LinkedIn to learn more about Angular!

๐Ÿ•น๏ธPrevious issues

If you missed the previous issues of the newsletter, you can read them here, these are the latest 3 issues:

๐Ÿ“จ 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! I might feature it in the next Angular Addicts issue!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player