Coder Social home page Coder Social logo

Comments (5)

jdegand avatar jdegand commented on May 27, 2024 2

Check out e-oz's medium for a few great signal articles and more ideas.

I like the idea of exploring of some patterns not translating to signals. Like if you use an outside flag that's not a signal and combine in a ternary with 2 signals. The outside flag doesn't update so the conditional will only be evaluated the first time. Something like this might not warrant a separate challenge, but can be included in the starter code. Maybe, have a loading flag and conditionally render something different in the navbar.

Bob dove right into converting the app to using signals, but of course, it wasn't so easy and you need to help fix this....

Surprisingly, I think a good topic is bindings with signals, as this will be important for zoneless. [value]=”value” lacks reactivity.

You can have a challenge where you swap computed for effect (or vice versa) and challenger has to swap from one to the other. I think effect has issues whereby it tracks too many things and this can cause performance issues.

Leaking the reactive context and fixing it with untracked is a must challenge. These scenarios cause leaks: creating an instance of a class that reads some signals, calling a function that calls another function, which reads a signal;
and emitting a new value to an observable.

Since the testing series uses Angular Testing Library, you don't really have to explore difficulty in testing signals.

from angular-challenges.

tomalaforge avatar tomalaforge commented on May 27, 2024 1

Yes we need to think about signal challenges. This is indeed a good idea to help people embrace this new reactivity pattern

creating a challenge around untrack is a good idea, but untrack is not used very often

There is many things around effect also. I was thinking of an observable called inside an effect which is never cleanup. It's a bit messy but I'm sure we can find some in all databases πŸ˜…

I haven't got a lot of time recently and I'm still very busy the next two months but then I will start to do new challenges again. v18 will be released soon and some challenges around zoneless is also a good idea.

from angular-challenges.

jdegand avatar jdegand commented on May 27, 2024 1

Maybe, it is best to have a dedicated issue for all challenge ideas. You could make a single comment for each idea.

Here's an article about new Angular 18 features.

from angular-challenges.

svenson95 avatar svenson95 commented on May 27, 2024

Maybe, it is best to have a dedicated issue for all challenge ideas. You could make a single comment for each idea.

Here's an article about new Angular 18 features.

Yeah i started this issue to think about the challenges. We could use the same example for these challenge series, this would be cool imo.

from angular-challenges.

jdegand avatar jdegand commented on May 27, 2024

I thought this short video from Josh Morony could be a challenge. When a toSignal signal has an error and if the signal is read multiple times, there can be multiple alerts or errors thrown. rejectErrors would have been the simple answer and using catchError in a different part of the stream would have been an alternative solution.

The two step process of converting to an observable with from and converting to a signal with toSignal may be required for the behavior.

I tried to recreate it and I wasn't able to get multiple errors. Ionic was used and I think that may have contributed to the behavior. So I have abandoned the idea. This seems like it would be a very infrequent bug anyway since toSignal behaves like async pipe and swallows errors.

from angular-challenges.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.