Отслеживание размеров окна
React хук
Хук возвращает объект
👉 @sWebDev
React хук
useWindowSize
отслеживает размеры окна браузера для адаптивных интерфейсов. В SSR, где window
недоступен, хук использует начальные значения (defaultWidth, defaultHeight)
. После гидратации размеры обновляются.import { useState, useEffect } from 'react';
function useWindowSize(defaultWidth = 0, defaultHeight = 0) {
const [windowSize, setWindowSize] = useState({
width: defaultWidth,
height: defaultHeight,
});
useEffect(() => {
const handleResize = () => {
setWindowSize({
width: window.innerWidth,
height: window.innerHeight,
});
};
handleResize();
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);
return windowSize;
}
Хук возвращает объект
{ width, height }
для динамической адаптации UI.👉 @sWebDev
👍2❤1
Как frontend-разработчику получить оффер в Bigtech?
Ты вроде бы уже не джун, но всё равно чувствуешь, что топчешься на месте? Рынок перегрет, требований всё больше, а откликов — всё меньше? На собесах валят на алгоритмах или просят "нарисовать" архитектуру, как будто ты ведущий.
При этом вокруг кто-то постоянно получает офферы в Яндекс или VK, а у тебя не получается даже дойти до финального этапа? Хочется стабильности, интересных задач и наконец-то попасть в сильную команду...
В своем канале:
👉 публикую видео с решением задач, которые прямо сейчас дают крупные компании на собеседованиях
👉даю примеры по прохождению собеседований
👉разбираю резюме и докручиваю резюме подписчиков
👉и просто создаю дружелюбное, комфортное сообщество, где коллеги всегда готовы подсказать и поддержать
🎁В закрепе тебя ждёт подборка из 60 задач, которые сейчас дают на собеседованиях Яндекс, Т-Банк и другие крупные IT игроки.
Подписывайся и получай максимум пользы, а нас уже больше 3500 🤓: frontend_punks
Реклама, erid: 2W5zFGkvG3S ИП Галактионов Тихон Витальевич, ИНН 771618975809
Ты вроде бы уже не джун, но всё равно чувствуешь, что топчешься на месте? Рынок перегрет, требований всё больше, а откликов — всё меньше? На собесах валят на алгоритмах или просят "нарисовать" архитектуру, как будто ты ведущий.
При этом вокруг кто-то постоянно получает офферы в Яндекс или VK, а у тебя не получается даже дойти до финального этапа? Хочется стабильности, интересных задач и наконец-то попасть в сильную команду...
Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор. Помогаю устроиться на хорошие позиции в Bigtech и сопровождаю на испытательном сроке.
В своем канале:
👉 публикую видео с решением задач, которые прямо сейчас дают крупные компании на собеседованиях
👉даю примеры по прохождению собеседований
👉разбираю резюме и докручиваю резюме подписчиков
👉и просто создаю дружелюбное, комфортное сообщество, где коллеги всегда готовы подсказать и поддержать
🎁В закрепе тебя ждёт подборка из 60 задач, которые сейчас дают на собеседованиях Яндекс, Т-Банк и другие крупные IT игроки.
Подписывайся и получай максимум пользы, а нас уже больше 3500 🤓: frontend_punks
Реклама, erid: 2W5zFGkvG3S ИП Галактионов Тихон Витальевич, ИНН 771618975809
Область видимости в JavaScript
Хотите разобраться, как работают области видимости в JS? В статье простыми словами объясняется, что такое область видимости, как она влияет на доступность переменных и почему const/let отличаются от var. Узнайте про блочную, функциональную и модульную области, лексическую область и замыкания.
👉 @sWebDev
Хотите разобраться, как работают области видимости в JS? В статье простыми словами объясняется, что такое область видимости, как она влияет на доступность переменных и почему const/let отличаются от var. Узнайте про блочную, функциональную и модульную области, лексическую область и замыкания.
👉 @sWebDev
❤3
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
Dark Mode Toggle
Dark Mode Toggle - это удобный способ переключать на темную тему на сайте. Сниппет использует CSS-переменные и локальное хранилище для сохранения выбора темы.
👉 @sWebDev | #полезные_сниппеты
Dark Mode Toggle - это удобный способ переключать на темную тему на сайте. Сниппет использует CSS-переменные и локальное хранилище для сохранения выбора темы.
function setupDarkModeToggle() {
const toggleButton = document.querySelector('#theme-toggle');
const root = document.documentElement;
const isDark = localStorage.getItem('theme') === 'dark';
// Устанавливаем начальную тему
if (isDark) {
root.classList.add('dark');
}
toggleButton.addEventListener('click', () => {
root.classList.toggle('dark');
const newTheme = root.classList.contains('dark') ? 'dark' : 'light';
localStorage.setItem('theme', newTheme);
});
}
document.addEventListener('DOMContentLoaded', setupDarkModeToggle);
:root {
--background: #ffffff;
--text-color: #333333;
}
.dark {
--background: #1a1a1a;
--text-color: #ffffff;
}
body {
background: var(--background);
color: var(--text-color);
transition: background 0.3s, color 0.3s;
}
👉 @sWebDev | #полезные_сниппеты
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
И что делать в такой ситуации?
👍 - Сидеть и упорно делать задачу (до конца рабочего дня)
❤️ - До пятницы далеко, может и подождать
👉 @sWebDev
👍 - Сидеть и упорно делать задачу (до конца рабочего дня)
❤️ - До пятницы далеко, может и подождать
👉 @sWebDev
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Quicklink
Небольшая JavaScript-библиотека, предназначенная для обнаружения ссылок, которые попадают в видимую область окна браузера (вьюпорт), и автоматической предзагрузки ресурсов, на которые эти ссылки указывают. Она анализирует DOM, определяет ссылки, находящиеся в зоне видимости пользователя, и инициирует загрузку связанных ресурсов (например, изображений, скриптов или других данных), кэшируя их для ускорения последующего доступа. Это особенно полезно для оптимизации производительности веб-страниц, так как уменьшает время загрузки при переходе по ссылкам.
👉 @sWebDev
Небольшая JavaScript-библиотека, предназначенная для обнаружения ссылок, которые попадают в видимую область окна браузера (вьюпорт), и автоматической предзагрузки ресурсов, на которые эти ссылки указывают. Она анализирует DOM, определяет ссылки, находящиеся в зоне видимости пользователя, и инициирует загрузку связанных ресурсов (например, изображений, скриптов или других данных), кэшируя их для ускорения последующего доступа. Это особенно полезно для оптимизации производительности веб-страниц, так как уменьшает время загрузки при переходе по ссылкам.
👉 @sWebDev
❤2