The journey to Preact X began on a quiet evening in October 2017. Since then, more than 100 people have helped shape the future of this project and community.
We're beyond excited to finally share the result of this multi-year effort with everyone.
⚛️ preactjs.com/guide/v10/whats…
I am working in something *very* wild for Preact, which I believe will be a complete game changer.
Actually I'm on vacation BUT when I get back I will continue working on this *very* wild thing. 6 year old idea but the last 2 years of Preact features make it infinitely better.
I just rebuilt unpkg.com with Preact. It was bliss. I’m loading it via import maps from the browser because Preact actually ships ESM! Unlike React that doesn’t even ship a file you can use in a browser. 🙈
Seeing Preact evolve from the 300k weekly downloads in May 2020 to the 6M we have today has been quite a journey.
Thank you to everyone supporting us!
ALT A line chart on npmtrends.com, the lookup is the Preact npm package. It shows a blue line over 5 years which starts at 300.000 weekly downloads and ends in today, 6.000.000 weekly downloads!
Since the launch of signals, I think you'll find a lot more Preact users are authoring class components again (I certainly am). Ergonomics are pretty darn good: x.com/_developit/status/1567…
Not that you have to support them, but they're far from dead.
Preact Signals just got a huge perf boost: Signals rendered as text/props & effects only "pull" as fast as needed for rendering. Since computeds run as-needed, they now only re-run as often as their downstream DOM output can be painted.
H/t to @JoviDeC for making this happen.
🚦 Now that we shipping Preact signals integration for Lit with the @ lit-labs/preact-signals package, would anyone be interested in an Angular Signals integration?
See a demo on the lit.dev playground:
lit.dev/playground/#gist=330…
For the curious: Here is how you'd do <input bind:value={signal}> in Preact. Thanks to @preactjs 's options plugin API this is pretty easy to add on the fly.
gist.github.com/marvinhageme…
Got custom renderers working in @preactjs by implementing react-reconciler via option hooks. Here's react-three-fiber running in Preact, demo here: codesandbox.io/p/github/Cody….
I've released this under 0.x as the very creatively named preact-reconciler: npmjs.com/preact-reconciler.
Next version of @preactjs DevTools will display which exact hook caused a component to update. Previously it would just display "Hooks changed" and not say which of them did.
@preactjs 10.11.1 is out now 🎉
- 📶 Updates DOM SVG types for signals
- ♻️ Only remove nested DOM nodes when necessary
- 📦 Update preact/compat export map
- 📨 Fix unable to set data-* attributes to "false"
- 🧽 Usual round of bug fixes...
github.com/preactjs/preact/r…
Today we are releasing Preact 10.11.0 and among various fixes and maintenance we have a new hook "useId"!
You can now generate unique consistent identifiers!
Demo: codesandbox.io/s/affectionat…
Little writeup because I really loved working on this jovidecroock.com/blog/preact…