36 lines
792 B
JavaScript
36 lines
792 B
JavaScript
/**
|
|
* useDevice Hook
|
|
*
|
|
* 封装设备类型检测,提供简洁的 API 供组件使用
|
|
*
|
|
* @example
|
|
* const { isMobile, isTablet, isDesktop, deviceType } = useDevice();
|
|
*
|
|
* if (isMobile) return <MobileView />;
|
|
* if (isTablet) return <TabletView />;
|
|
* return <DesktopView />;
|
|
*/
|
|
import { useSelector } from 'react-redux';
|
|
import {
|
|
selectIsMobile,
|
|
selectIsTablet,
|
|
selectIsDesktop,
|
|
selectDeviceType,
|
|
} from '@/store/slices/deviceSlice';
|
|
|
|
export const useDevice = () => {
|
|
const isMobile = useSelector(selectIsMobile);
|
|
const isTablet = useSelector(selectIsTablet);
|
|
const isDesktop = useSelector(selectIsDesktop);
|
|
const deviceType = useSelector(selectDeviceType);
|
|
|
|
return {
|
|
isMobile,
|
|
isTablet,
|
|
isDesktop,
|
|
deviceType,
|
|
};
|
|
};
|
|
|
|
export default useDevice;
|