DEV Community

Cover image for Announcing NgRx v17: Introducing NgRx Signals, Operators, Performance Improvements, Workshops, and more!

Announcing NgRx v17: Introducing NgRx Signals, Operators, Performance Improvements, Workshops, and more!

Brandon Roberts on November 22, 2023

We are pleased to announce the latest major version of the NgRx framework with some exciting new features, bug fixes, and other updates. ...
Collapse
 
rainerhahnekamp profile image
Rainer Hahnekamp

Congratulations from my side, and thanks for mentioning Manfred and me.

We will continue to do our part to spread the word!

Collapse
 
xapuu profile image
Xapuu

The new API-s look fancy, but I will definitely not go to re-write my stores or move away from the "old approach" of writing NgRx, for the same reason I never used the NgRx data in prod projects.
Anyway amazing work, it's nice to see that NgRx is up with the latest trends, I hope for many more successful versions.

Collapse
 
spock123 profile image
Lars Rye Jeppesen

I rewrote one of my stores today and it was an amazing experience.

Collapse
 
codewithahsan profile image
Muhammad Ahsan Ayaz

That's great to hear. I remember your comment on my stream too. I'm going to give this a shot soon :)
Did you have a small or large-scale app that you migrated to the signal store?

Thread Thread
 
spock123 profile image
Lars Rye Jeppesen

Hey!!! Thanks for your great streams!

It was a new feature for an existing application so I made the SignalStore from scratch.

It's very simple to make, and quite less verbose than the ngrx store/effects.

Collapse
 
andiausrust profile image
andiausrust

Thanks for your work. Is there a way to have signal store connected to NgRx devtools. I know it is argued that you can see the state with the Angular devtools but they are not comparable - NgRx devtools is way better.

Collapse
 
whiteadam profile image
Alex • Edited

1 Guys, as I understand it, selectors are represented by the withComputed hook. Is it possible to create a parameterized selector like this?

(id) => computed(() => someSignal()[id])
Enter fullscreen mode Exit fullscreen mode

Or should it be done only at the component level?

2 Is it possible to "await" function from withMethods? Just to implement some logic after it finishes.

Collapse
 
manfredsteyer profile image
Manfred Steyer

Congrats! That's awesome. Thanks for mentioning Rainer and my lesser self. We enjoyed using the new Signal Store from its very first days ❤️❤️❤️

Collapse
 
hclatomic profile image
HCl Atomic

So, you think that Google's engineers, the inventors of the V8 javascript machine and Node.js, are so light in javascript that they are unable to produce a framework Angular sufficient by itself to produce complex and heavy web apps, therefore you come to their rescue by superposing a second 2-way data binding between components (NgRx) to the native one of Angular. This is ridiculous.

Learn instead that Angular provides a native 2-way data binding between components by the means of standard services. React or Vues do not, and thus require a Redux like machinery, that Angular does not need. Angular and React are two different technologies, Angular is working with the change detection loop that does not exist in React. So stop coding Angular as if its 2-way data binding would not exist.

Collapse
 
browsepedia profile image
Browsepedia

Hello,
I can't seem to find the docs for the signals package on ngrx.io.
Are they not up yet? You mentioned there are more examples there.

Collapse
 
then3rdman profile image
Marcus Mailer

As some one mentioned, there is ZERO mention of this pakage in te NGRX dos... as amazing as the package looks. Annoucing a brand new tools and linking to its non existant docs isnt a great look...

Collapse
 
spock123 profile image
Lars Rye Jeppesen

I just made my first component with a signalStore attached, and oh my god is it just nice!! fantastic!

Collapse
 
sakar_dhana profile image
Sakar

Thanks for this article. It is nice to know @ngrx/signals is part of Ng/Rx family. And the simplicity of writing stores. I am eager to trying out in my project.

Collapse
 
nathantaal profile image
Nathan

Is there any way to make this store persistent over page reload?

Collapse
 
evanboissonnot profile image
Evan BOISSONNOT

Really thanks for this update ! It's amazing using ngrx signal ! love it !

Collapse
 
timsar2 profile image
timsar2

NgRx workshop in NX :D

Collapse
 
codewithahsan profile image
Muhammad Ahsan Ayaz

Congratulations!!!!! Definitely going to try it out soon and will share my experience :)

Collapse
 
spock123 profile image
Lars Rye Jeppesen

Absolutely amazing

Collapse
 
jyotishman profile image
Jyotishman Saikia

is this same as redux for React?

Collapse
 
nathantaal profile image
Nathan

its even simpler

Collapse
 
santoshyadavdev profile image
Santosh Yadav

Awesome looks like a solid library going to give it a try soon

Collapse
 
abhijitchikane profile image
Abhijit Chikane

The new SignalStore is very minimal and easy to use.

Collapse
 
bytemaster profile image
Byte Master

This is awesome, thanks for sharing it to us!

Collapse
 
kadir-ak profile image
Kadir-AK

That´s an great article!
How can I test this in a unit test?