A rewrite of a subset of Reagent's features, using Signaali for the reactivity.
This project was created to help people who want to use Si-frame while they still have some Reagent components in their codebase. It might be suitable to you if you are in the process of migrating a large Reagent+Re-frame codebase toward another React wrapper, like UIx or Helix, or toward other libraries based on Signaali.
Siagent is currently experimental.
Treat it as a toy project unless it works for you 😄
In your deps.edn:
{:fi.metosin/siagent {:mvn/version "..."}
- A drop-in replacement of Reagent covering the most commonly used parts of its API.
- Implementation easy to understand.
- Glitch-free reactivity provided by Signaali.
- No jumping caret issues in text fields.
- Can embed React components and be embedded into any existing React-based app (React, UIx, Helix, etc ...)
- Compatible with React 19 (the latest).
- Compatible with Re-frame 1.4.3 (the latest) via the Si-frame fork.
- No special effort was made to make it behave exactly like Reagent.
- Does not cover all the Reagent legacy features:
- No support for Reagent class components, only functions.
- No support for Cursor, Track, Wrap.
- No createRoot, use another React wrapper like in the test app.
- No effort was made on the performance side.
Everything which is tested in the test app is supported.
See:
- The hiccup section
- The Reagent section
- The interop section
cd test/playwright
npm test
If you tried his library, please let us know how it went. Your feedback is important.
This project is distributed under the Eclipse Public License v2.0.
Copyright (c) Vincent Cantin and contributors.