Middle
Schreiben Sie einen benutzerdefinierten React-Hook useScreenWidth(targetWidth), der die aktuelle Bildschirmbreite (screenWidth) und eine Flagge isMobile (true, wenn die aktuelle Breite kleiner als targetWidth ist) zurückgibt. Der Hook sollte sich beim Ändern der Fenstergröße aktualisieren.
sobes.tech KI
Antwort von 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`.