Sobes.tech
Middle

Kirjutage kohandatud React hook useScreenWidth(targetWidth), mis tagastab praeguse ekraani laius (screenWidth) ja lipu isMobile (true, kui praegune laius on väiksem kui targetWidth). Hook peaks uuendama, kui akna suurus muutub.

sobes.tech AI

Vastus AI-lt

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`.