What is @vueuse/core?
The @vueuse/core package is a collection of essential Vue Composition API utilities that help with a wide range of common application needs, from state management to utilities for handling side effects. It's designed to work seamlessly with Vue 3, leveraging the Composition API to make building and managing Vue applications easier and more intuitive.
What are @vueuse/core's main functionalities?
State Management
This feature allows you to easily synchronize a reactive state with localStorage, enabling persistent state across page reloads. The example demonstrates how to store and retrieve user settings.
import { ref } from 'vue'
import { useLocalStorage } from '@vueuse/core'
const userSettings = useLocalStorage('user-settings', { theme: 'dark', notifications: true })
Sensor Utilities
Sensor utilities provide reactive access to browser sensors like mouse position. The example shows how to track the mouse position on the screen.
import { useMouse } from '@vueuse/core'
const { x, y } = useMouse()
Animation
This feature enables easy setup of interval-based side effects, useful for animations or regular data fetching. The code sample demonstrates setting up a simple interval that logs a message every second.
import { useIntervalFn } from '@vueuse/core'
const { pause, resume } = useIntervalFn(() => console.log('Tick'), 1000)
Other packages similar to @vueuse/core
vue-composable
Vue-composable is similar to @vueuse/core, offering a set of composable utilities for Vue. While it covers many of the same areas as @vueuse/core, such as state management and sensor utilities, it has its own unique set of composables and might be preferred for certain use cases.
vuelidate
Vuelidate provides Vue applications with model-based validation. While it focuses specifically on form validation, rather than a broad range of utilities like @vueuse/core, it's a powerful tool for ensuring data integrity in user inputs.
Collection of essential Vue Composition API (inspired by react-use)
🚧 Working in progress...
🚀 Features
- 0 dependencies ⚡ No worry about your bundle size
- Fully tree shakable 🌴 Only take what you want
- Seamless migration 🕶 Use it now! Work for both Vue 3.x and 2.x
- Browser compatible 🌐 No need to setup build tools
- Intractive demos 🎪 Check our Storybook!
📦 Install
npm i @vueuse/core@next
npm i @vue/composition-api
npm i @vueuse/core
Please register the Composition API Plugin before other using APIs.
CDN
<script src="https://unpkg.com/@vueuse/core@next"></script>
<script src="https://unpkg.com/@vueuse/core"></script>
It will be exposed to global variable window.VueUse
⚡ Functions
You can checkout the documents and live demos in Storybook.
- useCounter
- useIntervalFn
- useStorage
- useStoragePlain
- useNow
- useRaf
- useTimeout
- useTimeoutFn
- useWindowScroll
- useWindowSize
More functions to be added. Please keep turned. (PRs are also welcome!)
📄 License
MIT License © 2019-2020 Anthony Fu