vuses
v1.2.0
Published
[](https://github.com/prettier/prettier) [](https://travis-ci.org/jo0ger/vuses) [ // required for Vue2and then:
<template>
<div>
<p>{{ counter }}</p>
<button @click="inc">inc</button>
<button @click="dec">dec</button>
</div>
</template>
<script>
import { useCounter } from 'vuses'
export default {
setup () {
const [counter, { inc, dec }] = useCounter()
return {
counter,
inc,
dec
}
}
}
</script>Hooks Plan
- State:
- [x]
useCounteranduseNumber: tracks state of a number - [x]
useToggleanduseBoolean: tracks state of a boolean - [x]
usePrevious: returns the previous state - [ ]
useDefault: returns the default value when state isnullorundefined - [ ]
useGetSet: returns state getterget()instead of raw state - [ ]
useGetSetState: as ifuseGetSetanduseSetStatehad a baby - [ ]
useObservable: tracks latest value of anObservable - [ ]
useStateList: circularly iterates over an array - [ ]
useList: tracks state of an array - [ ]
useMap: tracks state of an object - [ ]
useStateValidator: tracks state of an object
- [x]
- Sensors:
- [x]
useWindowSize: tracksWidnowdimensions(browser environment is required) - [x]
useWindowScroll: tracksWindowscroll position(browser environment is required) - [ ]
useBattery: tracks device battery state - [x]
useGeolocation: tracks geo location state of user's device - [ ]
useIdle: tracks whether user is being inactive - [ ]
useIntersection: tracks an HTML element's intersection - [ ]
useEvent: subscribe to events - [x]
useMedia: tracks state of a CSS media query - [ ]
useMediaDevices: tracks connected hardware devices - [ ]
useMotion: tracks state of device's motion sensor - [x]
useMouse: tracks state of mouse position - [ ]
useNetwork: tracks state of user's internet connection - [ ]
usePageLeave: triggers when mouse leaves page boundaries
- [x]
- Side Effects:
- [ ]
useDebounce: debounces a function - [ ]
useThrottle: throttles a function - [ ]
useAsync: resolves an async function - [x]
useLocalStorage: manages a value inlocalStorage - [x]
useSessionStorage: manages a value insessionStorage - [x]
useFavicon: sets favicon of the page - [x]
useTitle: sets title of the page - [x]
usePermission: query permission status for browser APIs
- [ ]
- UI:
- [ ]
useClickAway: triggers callback when user clicks outside target area - [ ]
useCss: dynamically adjusts CSS - [ ]
useFullscreen: display an element or video full-screen - [ ]
useWait: complex waiting management for UIs
- [ ]
- Animations:
- [ ]
useTimeout: re-renders component after a timeout - [ ]
useInterval: re-renders component on a set interval usingsetInterval
- [ ]
Contributing
Please see Contributing
