import { ref } from 'vue'; import type { Ref } from 'vue'; import { useContext } from '@/hooks'; interface UserContext { name: Ref; handleChangeName(): void; } const { useProvide, useInject: useUserInject } = useContext(); export default function useUserContext() { const name = ref('yan'); function handleChangeName() { name.value = 'bowen'; } const context: UserContext = { name, handleChangeName }; function useUserProvide() { useProvide(context); } return { useUserProvide, useUserInject }; }