Liking cljdoc? Tell your friends :D

Siagent

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 Re-signaali 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.

Project status

Clojars Project Slack cljdoc badge

Siagent is currently experimental.

Treat it as a toy project unless it works for you 😄

Install

In your deps.edn:

{:fi.metosin/siagent {:mvn/version "..."}

Features:

  • 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 Re-signaali fork.

Caveats:

  • 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.

Parts the Reagent API covered

Everything which is tested in the test app is supported.

See:

Running the tests

cd test/playwright
npm test

Feedback

If you tried his library, please let us know how it went. Your feedback is important.

License

This project is distributed under the Eclipse Public License v2.0.

Copyright (c) Vincent Cantin and contributors.

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close