vueuse/vueuse
Collection of essential Vue Composition Utilities for Vue 2 and 3
repo name | vueuse/vueuse |
repo link | https://github.com/vueuse/vueuse |
homepage | https://vueuse.js.org/ |
language | TypeScript |
size (curr.) | 3735 kB |
stars (curr.) | 2981 |
created | 2019-12-14 |
license | MIT License |
π Features
- πͺ Interactive docs & demos
- πΆ Seamless migration: Works for both Vue 3 and 2
- β‘ Fully tree shakable: Only take what you want, bundle size
- π¦Ύ Type Strong: Written in Typescript, with TS Docs
- π SSR Friendly
- π No bundler required: Usable via CDN
- π© Flexible: Configurable event filters and targets
- π Optional Add-ons: Router, Firebase, RxJS, etc.
π¦ Usage
import { useMouse, usePreferredDark, useLocalStorage } from '@vueuse/core'
export default {
setup() {
// tracks mouse position
const { x, y } = useMouse()
// is user prefers dark theme
const isDark = usePreferredDark()
// persist state in localStorage
const store = useLocalStorage(
'my-storage',
{
name: 'Apple',
color: 'red',
},
)
return { x, y, isDark, store }
}
})
Refer to functions list or documentations for more details.
π¦ Install
π© From v4.0, it works for Vue 2 & 3 within a single package by the power of vue-demi!
npm i @vueuse/core
Vue 3 Demo: Vite, Webpack / Vue 2 Demo: Vue CLI
CDN
<script src="https://unpkg.com/@vueuse/core"></script>
It will be exposed to global as window.VueUse
𧱠Contribute
See the Contributing Guide
πΈ Thanks
This project is heavily inspired by the following awesome projects.
- streamich/react-use
- u3u/vue-hooks
- shuidi-fed/vue-composition-toolkit
- logaretm/vue-use-web
- kripod/react-hooks
And thanks to all the contributors on GitHub!
π¨βπ Contributors
Financial Contributors on Open Collective
π License
MIT License Β© 2019-PRESENT Anthony Fu