em и rem используются для задания относительных размеров, таких как шрифты и отступы.em: Зависит от размера шрифта родительского элемента. Если размер шрифта родителя изменится, то и
em изменится. Например, если родитель имеет font-size: 16px, то 2em будет равно 32px.rem: Зависит от корневого элемента. Независимо от вложенности,
rem всегда основывается на font-size корня. Если корень имеет font-size: 16px, то 2rem всегда будет 32px.rem обеспечивает более предсказуемое масштабирование, так как оно не зависит от вложенности элементов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4✍1
Хуки в React были введены для решения нескольких проблем, связанных с управлением состоянием и жизненным циклом компонентов. Вот основные причины, почему хуки полезны:
1️⃣ Упрощение кода: Хуки позволяют использовать состояние и другие возможности React без написания классов. Это делает код более простым и легким для понимания.
2️⃣ Повторное использование логики состояния: С помощью хуков, таких как
3️⃣ Улучшение читаемости и тестируемости: Функциональные компоненты с хуками обычно легче читать и тестировать, чем классовые компоненты с методами жизненного цикла.
4️⃣ Избежание проблем с this: В функциональных компонентах нет необходимости использовать
5️⃣ Управление побочными эффектами: Хук
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
useState и useEffect, можно легко разделять и повторно использовать логику состояния между компонентами.this, что устраняет многие ошибки, связанные с контекстом вызова.useEffect предоставляет удобный способ управлять побочными эффектами, такими как подписки или изменения DOM, в функциональных компонентах.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1
const value: string | number;
// Переменная value может быть строкой или числом
type A = { a: string };
type B = { b: number };
type C = A & B;
// Тип C должен содержать свойства a и bСтавь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
<noscript>. Он может быть размещен в <head> или перед закрывающим тегом </body>.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<noscript>Document</noscript>
<!-- Подключение внешнего JavaScript файла -->
<noscript src="noscript.js"></noscript>
</head>
<body>
<h1>Hello World</h1>
<!-- Подключение JavaScript файла перед закрывающим тегом body -->
<noscript src="another-noscript.js"></noscript>
</body>
</html>
src указывает путь к JavaScript файлу.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
onClick вместо onclick. Также в React передаются функции, а не строки, как обработчики событий.Пример:
function handleClick() {
console.log('Button clicked');
}
<button onClick={handleClick}>Click Me</button>
В этом примере
handleClick вызывается при клике на кнопку.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Для использования Grid необходимо задать контейнеру свойст
во display: grid. Затем с помощью свойств, таких как grid-template-columns и grid-template-rows, можно определить структуру сетки.
.container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* Три равные колонки */
grid-gap: 10px; /* Расстояние между элементами */
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Теги
1️⃣ <div> — блочный элемент. Он занимает всю ширину родительского контейнера и начинается с новой строки. Используется для создания крупных блоков контента, таких как секции или контейнеры.
2️⃣ <span> — строчный элемент. Он занимает только необходимую ширину и не нарушает поток текста. Применяется для стилизации отдельных частей текста или небольших элементов внутри блока.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
<div> и <span> используются для группировки и стилизации элементов в HTML, но имеют разные цели и свойства.<div> <!-- Блочный элемент -->
<span>Текст</span> <!-- Строчный элемент -->
</div>
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
var, let и const — это ключевые слова для объявления переменных в JavaScript, но они имеют различия в области видимости и изменяемости.var имеет функциональную область видимости и подвержен всплытию, что может привести к неожиданным поведением в коде. let и const имеют блочную область видимости, что делает их более предсказуемыми. let позволяет изменять значение переменной, тогда как const используется для объявления констант, значение которых нельзя изменить после инициализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
.element {
width: 100px; /* Ширина содержимого */
padding: 10px; /* Внутренний отступ */
border: 5px solid black; /* Граница */
margin: 20px; /* Внешний отступ */
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6⚡1❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💯1
BrowserRouter, Route, Link, Switch.Пример использования:
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
// Компонент главной страницы
function Home() {
return <h2>Home</h2>;
}
// Компонент страницы "О нас"
function About() {
return <h2>About</h2>;
}
// Основной компонент приложения
function App() {
return (
<Router>
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</Router>
);
}
BrowserRouter оборачивает приложение, Route определяет путь и компонент, Link создает навигацию.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
white-space управляет тем, как обрабатываются пробелы в тексте. Оно определяет, сохраняются ли пробелы и переносы строк, а также как текст переносится на новую строку.Основные значения:
normal: Пробелы сокращаются до одного, текст переносится по необходимости.nowrap: Пробелы сокращаются, текст не переносится.pre: Пробелы и переносы сохраняются, текст не переносится.pre-wrap: Пробелы и переносы сохраняются, текст переносится.pre-line: Пробелы сокращаются, переносы сохраняются, текст переносится.p {
white-space: pre-wrap; /* Сохраняет пробелы и переносы, текст переносится */
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Для определения кортежа используется синтаксис массива с указанием типов:
// Определение кортежа с двумя элементами: строкой и числом
let user: [string, number];
// Присвоение значений кортежу
user = ["Alice", 25];
// Доступ к элементам кортежа
let name: string = user[0]; // "Alice"
let age: number = user[1]; // 25
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5
typeof — это оператор, который возвращает строку, указывающую тип неинициализированного значения. Он полезен для проверки типа переменной или выражения.
console.log(typeof 42); // "number"
console.log(typeof 'Hello'); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (особенность языка)
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof function(){}); // "function"
Важно помнить, что
typeof null возвращает "object", что является исторической ошибкой в языке.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3