Use the vanilla SDK from any Vue setup function. No Vue-specific install needed.
The Usero SDK is framework-free. Initialize it once from your root component's onMounted hook, and the widget renders outside your Vue tree, so it cannot interfere with reactivity.
npm install @usero/sdk<script setup lang='ts'>
import { onBeforeUnmount, onMounted } from 'vue'
import { initUseroFeedbackWidget } from '@usero/sdk'
let widget: ReturnType<typeof initUseroFeedbackWidget> | null = null
onMounted(() => {
widget = initUseroFeedbackWidget({ clientId: 'YOUR_CLIENT_ID' })
})
onBeforeUnmount(() => {
widget?.destroy()
})
</script>
<template>
<router-view />
</template>Replace YOUR_CLIENT_ID with the id from your Usero dashboard.
Built for Vue 3
The vanilla SDK is what powers the React component too. No second package to install.
The widget mounts at the end of document.body, so Vue reactivity and Pinia stores never see it.
Initialize in onMounted, tear down in onBeforeUnmount. Clean, idiomatic Vue 3.
Only one named export is imported. Nothing from the React build is pulled in.
Featurebase publishes a Vue plugin that adds a global property. Usero needs neither a plugin nor a provider.
FAQ
No. The vanilla SDK works from any setup function. Vue, Nuxt, Quasar, and Ionic-Vue all use the same import.
No. The widget renders into its own DOM root, outside the app element, so it never enters Vue's reactivity graph.
Vue 2 is in maintenance mode. The vanilla SDK still works there too, just call initUseroFeedbackWidget in mounted().
Re-initialize the widget when the user logs in, passing metadata: { userId } to the init call.
Free tier. No credit card. Two-minute install. Cancel by deleting two lines of code.
Install guides