Sobes.tech
Middle

Գրեք հատուկ React hook useScreenWidth(targetWidth), որը վերադարձնում է ընթացիկ էկրանին լայնությունը (screenWidth) և նշան isMobile (ճիշտ, եթե ընթացիկ լայնությունը փոքր է targetWidth-ից): Hook-ը պետք է թարմացվի պատուհանի չափի փոփոխության ժամանակ։

sobes.tech AI

Պատասխան AI-ից

jsx import { useState, useEffect } from 'react';

function useScreenWidth(targetWidth) { const [screenWidth, setScreenWidth] = useState(window.innerWidth);

useEffect(() => { function handleResize() { setScreenWidth(window.innerWidth); }

window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);

}, []);

const isMobile = screenWidth < targetWidth;

return { screenWidth, isMobile }; }

export default useScreenWidth;


Этот хук отслеживает ширину окна браузера и обновляет состояние при изменении размера. Флаг `isMobile` устанавливается в `true`, если текущая ширина меньше `targetWidth`.