# Misko Hevery - useSignal is the Future of Web Frameworks (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/24842855)
**Source**:: #from/readwise
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Misko Hevery]]
**Full Title**:: useSignal is the Future of Web Frameworks
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**Document Tags**:: #shortlist #web-development
**URL**:: [www.builder.io](https://www.builder.io/blog/usesignal-is-the-future-of-web-frameworks)
**Host**:: [[www.builder.io]]
**Highlighted**:: [[2023-02-28]]
**Created**:: [[2023-03-04]]
## Highlights
- The key difference between Signals and State is that Signals return a getter and a setter, whereas non-reactive systems return a value (and a setter). ([View Highlight](https://read.readwise.io/read/01gtbjs8bxy90vy0kceg2azfw2)) ^483795874
- To be reactive, Signals must collect who is interested in the Signal’s value. They gain this information by observing in what context the state-getter is invoked. ([View Highlight](https://read.readwise.io/read/01gtbjthfaafkmkv7zsmfqynvf)) ^483795944
- If the value changes, this location needs to be re-evaluated. In other words, **invoking the getter creates a subscription**. ([View Highlight](https://read.readwise.io/read/01gtbjv73cg9pqs2216n0fs32e)) ^483796192
- React has `useRef()`, which is similar to `useSignal()`, but it does not cause the UI to re-render. ([View Highlight](https://read.readwise.io/read/01gtbjxaf76y8z7psfcqm4f7fw)) ^483796670
- `useSignal()` can do what `useRef()` does plus subscription tracking. ([View Highlight](https://read.readwise.io/read/01gtbjxxre1np7tkyk8x0zywcj)) ^483796823
- So, this is why signals work as if you memoized everything without actually having to memoize anything yourself. ([View Highlight](https://read.readwise.io/read/01gtbk0yk9k9h2s5aze256w6e8)) ^483797206