Overview
SolidJS is a JavaScript UI library that tracks reactive dependencies through primitives such as signals and updates only the affected DOM. JSX is compiled to real DOM operations, so the rendering model does not depend on a Virtual DOM.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Update only signal dependencies
Primitives such as createSignal track the computations that read state and rerun only those dependencies when values change.
Use one component model across JSX, SSR, and streaming
Solid includes JSX, context, portals, suspense, server rendering, streaming, progressive hydration, and related modern UI capabilities.
Sources: [2]
For web interfaces that value fine-grained updates and direct DOM behavior
It fits projects that want state changes to affect small reactive regions rather than treating an entire component tree as the default update unit.
Sources: [2]
React-like syntax does not mean a React-like runtime
The JSX and function-component syntax can look familiar, but Solid does not assume repeated component rerenders. Review signals and dependency tracking before porting React patterns directly.
Official sources
- [1]solidjs/solid repository(2026-09-21)
- [2]SolidJS README(2026-09-21)
- [3]SolidJS documentation(2026-09-21)
- [4]solid-js package(2026-09-21)
- [5]SolidJS MIT license(2026-09-21)
Supplemental curator note
SolidJS uses JSX that looks familiar to React developers, but it does not rely on a Virtual DOM or repeatedly execute whole components for updates. The current `solid-js` package is 1.9.15. Evaluate its signal-based dependency tracking as a distinct execution model rather than treating it as React Hooks with different names.
Try it in 3 steps
- 1
Create a TypeScript starter
Use the official TypeScript starter from the README to create a minimal Vite-based SolidJS application.
npx degit solidjs/templates/ts my-app - 2
Install dependencies
Enter the generated project and install the dependencies defined by the starter.
cd my-app && npm install - 3
Start the development server
Open the sample application and verify the basic signal-driven update behavior.
npm run dev
Growth
Growth trends · Last 30 days
36,061 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 1
- Open PRs
- 17
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- javascript
- performance
- solid
- proxies
- declarative
- fine-grained
- jsx
- reactive
- Stars
- 36,061
- Forks
- 1,116
- Watchers
- 215
- Open issues
- 34
- Contributors
- 186
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Sep 21, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Angular101,020 Stars
2 shared tag(s) · 1 shared category(s) · Same language
A TypeScript-first web application platform integrating components, DI, routing, forms, SSR, and CLI tooling.
TypeScript - Redux61,490 Stars
2 shared tag(s) · 1 shared category(s) · Same language
A JavaScript/TypeScript state-management library that centralizes application state in a store and updates it predictably through actions and reducers. Redux Toolkit is the officially recommended approach today.
TypeScript - Expo52,361 Stars
2 shared tag(s) · 1 shared category(s) · Same language
A universal React Native framework for building Android, iOS, and web apps from one project model.
TypeScript - Puter43,567 Stars
2 shared tag(s) · 1 shared category(s) · Same language
A self-hostable Internet OS combining a browser desktop with cloud storage, AI, databases, and serverless workers.
TypeScript - Vuetify41,044 Stars
2 shared tag(s) · 1 shared category(s) · Same language
A Vue design system combining UI components, themes, and responsive layouts, with an official scaffold for new Vite-based projects.
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.