Sobes.tech
Middle

Parašykite individualų React hook useScreenWidth(targetWidth), kuris grąžina dabartinį ekrano plotį (screenWidth) ir žymeklį isMobile (true, jei dabartinis plotis yra mažesnis nei targetWidth). Hook'as turi būti atnaujinamas keičiant lango dydį.

sobes.tech AI

Atsakymas iš 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`.