-
Solid 2.0 makes async data part of Solid’s normal reactive system.
-
A reactive value can depend on a Promise. Solid tracks that async work as part of the dependency graph.
-
This means you need less manual code for:
- loading states
- stale data
- race conditions
- transitions
- keeping async state synchronized with UI state
-
Solid can keep showing the old valid UI while new async data is loading, instead of immediately replacing it with a loading screen.
-
Suspense and error handling work more naturally with async reactive values.
-
Optimistic updates are built more directly into the reactive model. You can temporarily show the result you expect while a server operation is running, then let Solid replace it with the real result.
-
Solid stores still use fine-grained reactivity. Updating one property or one item does not need to rerender everything that uses the larger object or list.
-
Solid 2.0 has a rebuilt reactive engine. The main reason is to support these new async behaviors cleanly.
-
The goal is not mainly better benchmark performance. The goal is to make more complicated application state easier to describe.
-
Solid 2.0 also moves more framework features into Solid itself.
-
Things that previously belonged more clearly to SolidStart can become optional capabilities available to normal Solid projects.
-
The idea is that you can start with a simple client-side Solid app and add routing, server features, async data handling, and other framework features when you need them.
-
The main idea of Solid 1 was: only update exactly what changed.
-
The main idea of Solid 2 is: async work should behave like normal reactive state too.
-
In practice, Solid wants application code to look more like:
- state changes
- async values depend on that state
- UI depends on those async values
- Solid handles the coordination
-
The biggest change is therefore not one new API. It is that synchronous state, asynchronous state, transitions, and optimistic state are being treated as parts of the same reactive system.
Read the official docs for more detail.