expo-popcore-app/hooks/use-user-balance.ts

28 lines
581 B
TypeScript

import { useEffect } from 'react'
import { useUserBalanceStore } from '@/stores/userBalanceStore'
/**
* 用户积分余额 Hook
* 提供积分余额的获取和管理功能
*/
export const useUserBalance = () => {
const { balance, loading, error, load, startPolling, stopPolling, deductBalance } = useUserBalanceStore()
// 组件挂载时开始轮询,卸载时停止
useEffect(() => {
startPolling()
return () => {
stopPolling()
}
}, [startPolling, stopPolling])
return {
balance,
loading,
error,
load,
deductBalance,
}
}