Defining forms is easy even without reactive if you know the details. You can use `ngModelGroup` to achieve the same result:
Defining forms is easy even without reactive if you know the details. You can use `ngModelGroup` to achieve the same result:
So, the #RxJS `tap` operator is specifically designed to perform side-effects
However, its implementation is just taking an Observable and returning a new one with the side-effect slapped on it
So, is `tap` itself a pure function or not? 😁
So, the #RxJS `tap` operator is specifically designed to perform side-effects
However, its implementation is just taking an Observable and returning a new one with the side-effect slapped on it
So, is `tap` itself a pure function or not? 😁
Instead, it encourages the use of new, derived selectors and a direct selection of the state
I believe we should not create computed properties from store signals
What do you think?
Instead, it encourages the use of new, derived selectors and a direct selection of the state
I believe we should not create computed properties from store signals
What do you think?
If you want to bind a resource to `ngModel` in your #Angular component template, use its `value` signal, not the resource itself:
If you want to bind a resource to `ngModel` in your #Angular component template, use its `value` signal, not the resource itself:
Isn't NgRx itself already a facade? A big, complex system with which you interact only via two simple methods (dispatch, select)
Isn't NgRx itself already a facade? A big, complex system with which you interact only via two simple methods (dispatch, select)
Do you think this is a bad practice? If so, how can we avoid it? What would be some cases where this is justified?
Do you think this is a bad practice? If so, how can we avoid it? What would be some cases where this is justified?
#Angular linked signals have the same scheduling approach for computations as regular `computed` properties
Computation does not run initially until the value is first read. Subsequently, only new reads will trigger to recompute
#Angular linked signals have the same scheduling approach for computations as regular `computed` properties
Computation does not run initially until the value is first read. Subsequently, only new reads will trigger to recompute
Using the previous value argument in computation callback results in an `unknown` type, even when the type returned is super explicit
Any idea why this is the case?
Using the previous value argument in computation callback results in an `unknown` type, even when the type returned is super explicit
Any idea why this is the case?
I'm happy to say exploring the full release docs taught me a lot
Interesting things are coming 🤫
I'm happy to say exploring the full release docs taught me a lot
Interesting things are coming 🤫
Sometimes the `request` can depend on optional signals, and we might want an easier mechanism of having some default value:
Sometimes the `request` can depend on optional signals, and we might want an easier mechanism of having some default value:
I will cover all the more obscure features (some of them I already tweeted about) that got a bit overlooked because of the `linkedSignal`/Resource API hype 😁
Will drop next week! 🚀
I will cover all the more obscure features (some of them I already tweeted about) that got a bit overlooked because of the `linkedSignal`/Resource API hype 😁
Will drop next week! 🚀
We can use it to navigate to other pages depending on the data received, or for handling errors
We can use it to navigate to other pages depending on the data received, or for handling errors
It returns a new array instead of modifying the existing one, which is perfect for pure updater functions like `update` callback or reducers:
It returns a new array instead of modifying the existing one, which is perfect for pure updater functions like `update` callback or reducers:
This will become super useful when rich signal debugging tools become available!
This will become super useful when rich signal debugging tools become available!
I try to limit mine to 120 lines of code, but I have seen more extreme approaches. What do you prefer?
I try to limit mine to 120 lines of code, but I have seen more extreme approaches. What do you prefer?
The `untrack` function from #Angular call also accepts a callback, and any signal read in the callback won't be tracked.
We can also return the value from `untracked`!
The `untrack` function from #Angular call also accepts a callback, and any signal read in the callback won't be tracked.
We can also return the value from `untracked`!