SolidJS

Feedback widget
for SolidJS.

Boot in onMount, clean up in onCleanup. No re-runs, no virtual DOM.

Solid's reactivity runs your component body once, so onMount is the natural home for the widget init. The vanilla SDK lives outside Solid's fine-grained graph, so no signal change ever pokes it.

~12kb
gzipped
0
config
MIT
license
Install2 steps
> ~ install· bash
npm install @usero/sdk
> src/App.tsx· tsx
import { onCleanup, onMount } from 'solid-js'
import { initUseroFeedbackWidget } from '@usero/sdk'

export default function App() {
  onMount(() => {
    const widget = initUseroFeedbackWidget({ clientId: 'YOUR_CLIENT_ID' })
    onCleanup(() => widget.destroy())
  })

  return <div>{/* your app */}</div>
}

Replace YOUR_CLIENT_ID with the id from your Usero dashboard.

Built for SolidJS

Why teams shipping with SolidJS pick Usero.

No JSX wrapper needed

Solid uses JSX but compiles it away to real DOM nodes. The widget is plain DOM too, so the vanilla init is the right fit, not a Solid component.

Component body runs once

Unlike React, Solid does not re-run the function on every update. onMount fires a single time, so the widget is created exactly once with no guard needed.

Outside the reactive graph

The widget renders into its own DOM root. Signals, stores, and effects never observe it, so it adds zero reactive overhead.

onCleanup tears it down

Returning the destroy call through onCleanup keeps HMR clean in dev and avoids stray triggers piling up.

Featurebase loads a script that boots after first paint and shifts layout. The vanilla SDK mounts on document.body with no shift.
vs Featurebase widget

FAQ

Quick answers, SolidJS edition.

Should I write a Solid component for the widget?

No. Solid compiles JSX to DOM operations, and the widget is already DOM. Call initUseroFeedbackWidget from onMount and you are done.

Do I need a guard against double init?

No. Solid runs the component body once, so onMount fires a single time. There is no Strict Mode double-invocation like React has.

Does it work with SolidStart SSR?

Yes, because onMount only runs in the browser. On SolidStart, keeping the init in onMount is enough to keep it off the server.

Will it interfere with Solid stores?

No. The widget sits outside the reactive graph in its own DOM root, so createStore and createSignal never trigger a widget update.

Ship a feedback widget in your SolidJS app today.

Free tier. No credit card. Two-minute install. Cancel by deleting two lines of code.

Get started free