# Composables API Reference Detailed usage examples for composables using ` ``` #### `useState(moduleName, keys)` Map state properties from a module to reactive computed refs. *Use when*: You need reactive access to store state. ```vue ``` #### `useGetters(moduleName, keys)` Map getters from a module to reactive computed refs. *Use when*: You need reactive access to store getters. ```vue ``` #### `useActions(moduleName, keys)` Map actions from a module to functions. *Use when*: You need to dispatch store actions. ```vue ``` #### `useMutations(moduleName, keys)` Map mutations from a module to functions. *Use when*: You need to commit store mutations (rarely needed - prefer actions). ```vue ``` ### Complete Example: Options API vs ` ``` **` ``` --- ## useGlobals Access global application properties. ### Available Functions - `useAppConfig()` - Application configuration - `useConstants()` - Global constants - `useFilters()` - Formatting functions - `useValidationErrors()` - Validation helpers ### Example: useAppConfig() ```vue ``` ### Example: useFilters() ```vue ``` --- ## Creating New Composables Template for creating module-specific composables: ```javascript import { computed } from 'vue' import { useStore } from './useStore' export function useMyModule() { const store = useStore() // Map state const myData = computed(() => store.state.myModule.data) const loading = computed(() => store.state.myModule.loading) // Map getters const isValid = computed(() => store.getters['myModule/isValid']) // Map actions const loadData = (payload) => store.dispatch('myModule/loadData', payload) const saveData = (payload) => store.dispatch('myModule/saveData', payload) // Map mutations const reset = () => store.commit('myModule/reset') return { // State myData, loading, // Getters isValid, // Actions loadData, saveData, // Mutations reset } } ``` ### Using the Custom Composable ```vue ```