Signals Unleashed: The Full Guide

Signals Unleashed: The Full Guide

Rainer Hahnekamp

7 месяцев назад

30,063 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@jasondelorme9034
@jasondelorme9034 - 29.10.2024 15:09

Really thoroughly explains Signals with clear, relevant examples. Nicely done, thank you!

Ответить
@jasondelorme9034
@jasondelorme9034 - 29.10.2024 15:08

Thanks!

Ответить
@amrgemy8817
@amrgemy8817 - 06.10.2024 12:25

Thank you for your great efforts and for sharing your knowledge, you're simply amazing

Ответить
@nithin_bd
@nithin_bd - 24.09.2024 17:41

Accidentally landed in this video. Now he's my favourite instructor. Amazing Rainer😍

Ответить
@DS-bz4mz
@DS-bz4mz - 24.08.2024 23:45

Great video!
It'll take a while for me to really understand some concepts, especially since we haven't been using Signals yet, and we've only just upgraded to v17. However, I'm excited about the future of both Signals and RxJS. :)

Ответить
@michastuleblak4998
@michastuleblak4998 - 21.08.2024 03:23

Great video! Thank you for sharing your knowledge ;)

Ответить
@BenBeckers
@BenBeckers - 20.08.2024 10:22

Awesome! Big thanks!

Ответить
@wol1414
@wol1414 - 17.08.2024 13:33

Super!)) I`m understanding how it works. Thank you!)

Ответить
@Nabulio85
@Nabulio85 - 13.08.2024 23:17

Thank you very much for sharing your knowledge.
Great content.

Ответить
@elhadjibrahimabalde1234
@elhadjibrahimabalde1234 - 07.08.2024 11:35

Yesterday, I pulled the init branch and started the tutorial, and everything was OK. Today, when I launched the application with ng serve, the server started successfully, but when I go to localhost:4200, I only see the header and the page content is blank. After 5 seconds, I get a timeout. It's as if the frontend is trying to connect to a remote server without getting a response. I can send you a screenshot if you want.

Ответить
@shashikanthbuddhiol6127
@shashikanthbuddhiol6127 - 07.08.2024 10:50

If we update signal in an effect not aware of it could go into infinite loop. Will angular gives any warning? I think while implementing complex functionality developer may get into updating multiple effects that can lead to infinite loop, it is better angular should warn.

Ответить
@elhadjibrahimabalde1234
@elhadjibrahimabalde1234 - 06.08.2024 17:43

hello i have start your tuto yesterday, but when i run your git repo, i have;---/**--- We are sorry. An error happened.

Ответить
@SaleemKhan17
@SaleemKhan17 - 18.07.2024 20:38

Can you share your vscode extensions?

Ответить
@aymensellaouti5007
@aymensellaouti5007 - 12.07.2024 13:04

Great Job. Thank you for all the videos and articles you share with the community, it helps a lot.

Ответить
@rkrao8582
@rkrao8582 - 23.06.2024 00:52

Do you have written this guide somewhere? Like in medium or some other place? Because audio on this is not so great and putting me off.

Ответить
@youpeekayey
@youpeekayey - 11.06.2024 21:10

Sweet mama, fantastic stuff. Most in-depth guide in this topic that i found on yt. Thanks for this and keep up with great work! And subscribed ;)

Ответить
@JOELJOSEPHCHALAKUDY
@JOELJOSEPHCHALAKUDY - 06.06.2024 19:11

thanks, that was a wonderfull overview

Ответить
@vutruong4164
@vutruong4164 - 04.06.2024 21:36

Thank you for the bombshell video Rainer!

While these Signal APIs vastly simplify how components/directives React to Changes, I feel that we still have not arrived at a good pattern for the Initialization phase of components/directives using Signal APIs.

Scheduling Initialization in constructor using the afterNextRender() seems to be the most sensible approach for me, with the added benefit of being SSR-friendly

I also tried setting up Initialization using effect() and untracked() but in the end it felt a bit "unsafe" because effect execution is asynchronously dependent on Change Detection Scheduling, which we have very little control over. I am also concerned about when the executed effect is itself an asynchronous fetch, like in your demo (the async search function).

ngOnInit, on the other hand does not have access to viewChild() and contentChild(), unless these queries are marked static.

Perhaps you can provide more insight regarding the advantages/disadvantages of the above approaches in future videos, when best practices emerge!

Ответить
@pawezysk3404
@pawezysk3404 - 03.06.2024 10:27

Best Angular tRainer ;)

Ответить
@siebedom
@siebedom - 02.06.2024 15:57

Great video, very clear explanation, thank you very well!

Ответить
@votok2
@votok2 - 01.06.2024 12:51

Hi how do you feel about calling a private method in a computed signal that could hide a lot, i.e. what signal(s) the computed one depends on?
I kind of try to read the signals value first and pass them as function parameters for better readability...

Ответить
@MohamedAbdulRaouf
@MohamedAbdulRaouf - 01.06.2024 04:03

Can you share your IDE setup & extensions

Ответить
@papastepano
@papastepano - 27.05.2024 21:44

Source: Window.addEventListener:message seems to be triggering change detection all the time

Ответить
@tarquin161234
@tarquin161234 - 26.05.2024 15:03

Your example on toSignal() appears a simple solution, but in my experience, sometimes it is not appropriate to provide an arbitrary initial value, in which case signals don't work. I think this is an anti pattern. To me it seems more logical an architecture to wait for the real value from the database, rather than scattering around arbitrary starter values, which may have unexpected consequences (e.g. in effects that do calculations).

Ответить
@termobin
@termobin - 20.05.2024 01:09

I would like to congratulate you for the excellent work you did in this video, great explanations

Ответить
@devbuilddeploy
@devbuilddeploy - 16.05.2024 06:28

What I found here just Gold, You can't ask better explanation this, thanks for great work you've done here.

Ответить
@mcdona22
@mcdona22 - 13.05.2024 13:23

very very good

Ответить
@sheariley1910
@sheariley1910 - 08.05.2024 23:34

Effects don't see all value updates because the JavaScript event loop is single threaded and the effects are only executed after the current execution context has finished and the deferred event loop is drained. I'm pretty sure the only way that computed signals and effects automatically register their dependencies is that they record what signals are called during their execution; and more importantly this is only possible because JavaScript is single-threaded. I assume that there is a global register that is used to accumulate a list of called signals during the execution of an effect or computed and that is used to register the dependencies and listen for updates. This only works if only one effect or computed is able to be executed at a time.

Ответить
@sheariley1910
@sheariley1910 - 08.05.2024 23:18

Any other devs having knockout.js flashbacks?

Ответить
@bellosthomas
@bellosthomas - 07.05.2024 09:47

Excellent video. Many thanks. Been using react for sevral years, with mobx for state management. Signals seem very close to how mobx works. What is your thought on using signals for application state as well?

Ответить
@davesharman8302
@davesharman8302 - 05.05.2024 18:24

Very nice video, I learned a lot from it that was very fuzzy before.

Ответить
@az1nn
@az1nn - 02.05.2024 03:49

Thank you for this course! Finally i could understand how to use Signals!

Ответить
@pedrolins2499
@pedrolins2499 - 02.05.2024 03:12

Absolutely amazing!

Ответить
@HAROON740
@HAROON740 - 01.05.2024 02:37

HI , ExpressionChangedAfterItHasBeenCheckedError occurring due to the loading service but why it is coming from there ?

Ответить
@TheSqdf
@TheSqdf - 28.04.2024 16:13

Excellent video, but use dark theme please!

Ответить
@canergurelsoy6875
@canergurelsoy6875 - 26.04.2024 13:30

very good stuff, thanks for your precious time.
just wondering the vs extension showing those properties definitions

Ответить
@jontaylor1586
@jontaylor1586 - 25.04.2024 22:38

Thanks for this. Also, your audio is much better in this video than some of your older ones.

Ответить
@Manifibell
@Manifibell - 23.04.2024 21:28

Great video! I am really looking forward to working with v17+.

I am personally a big fan of React, and I am happy to see Angular going towards something that feels more familiar to me.

It would be cool if the effects worked like React. You give it a list of which signals can cause it to trigger. The automatic triggering based on signals being referenced is cool, but also very dangerous as you mention. And having to wrap that in untrack just seems less elegant than an array of signals which can cause an update. Sad that they didn't want the explicit list of signals.

Ответить
@sonyvizio
@sonyvizio - 23.04.2024 19:16

thanks effect is exactly what I needed.

Ответить
@szabogergo2547
@szabogergo2547 - 23.04.2024 14:40

I am so greatful! I will share this with my team, so we can easily bring everybody to the same understanding of Signals pretty quickly! Thank you!

Ответить
@israellucena926
@israellucena926 - 20.04.2024 15:00

Fantastic, Rainer! A comprehensive overview of the signals API and beyond...

Ответить
@ChristianHanvey
@ChristianHanvey - 20.04.2024 03:15

Fantastic content, brilliantly explained. I really appreciate the step by step changes and taking the time to explain why each error occurs. Master at work! Thank you for making and sharing this Rainer!

Ответить
@carlosiglesias8354
@carlosiglesias8354 - 19.04.2024 22:45

does anybody know which extension is using to show the variable types while typing? Thanks in advance!

Ответить
@dhavalv
@dhavalv - 19.04.2024 20:04

Absolutely awesome Rainer. A complete overview of signals API and more ...

Ответить
@hbnr83
@hbnr83 - 19.04.2024 15:40

Do we still need to explicitly set changeDetection to ChangeDetection.OnPush?

Ответить
@ravikumar-cn1nz
@ravikumar-cn1nz - 18.04.2024 17:11

whats the editor u are using for coding, how the type of variable are shown

Ответить
@sunilvilluri385
@sunilvilluri385 - 18.04.2024 09:51

Really great video. Thanks for posting a detailed video. Any guide on What is the reactive context? Every view is considered as reactive context ?

Ответить
@andremens8420
@andremens8420 - 17.04.2024 13:04

Good explanation. Can i ask what ide your using with the tooling inserting the greyed types etc.

Ответить