Порталы в React позволяют рендерить дочерние элементы в DOM-узел, который находится вне иерархии родительского компонента. Это полезно для создания модальных окон, всплывающих подсказок и других элементов, которые должны быть отделены от основного DOM-дерева.
Для создания портала используется метод
ReactDOM.createPortal(), который принимает два аргумента: элемент React и целевой DOM-узел.Пример использования портала:
import ReactDOM from 'react-dom';
function Modal({ children }) {
return ReactDOM.createPortal(
<div className="modal">
{children}
</div>,
document.getElementById('modal-root')
);
}
Здесь
Modal рендерит свои дочерние элементы в элемент с ID modal-root, который находится вне основного контейнера приложения. Порталы позволяют управлять элементами, сохраняя их стили и поведение в контексте React.Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4⚡1
Для встраивания аудио на HTML-страницу используется тег
Пример использования:
Атрибут
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
<audio>. Этот тег позволяет воспроизводить аудиофайлы непосредственно в браузере. Пример использования:
<audio controls>
<source src="audio-file.mp3" type="audio/mpeg">
Ваш браузер не поддерживает элемент <code>audio</code>.
</audio>
Атрибут
controls добавляет элементы управления воспроизведением, такие как кнопки воспроизведения и паузы. Внутри тега <audio> можно использовать несколько <source> для указания разных форматов аудио, обеспечивая кроссбраузерную совместимость.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥1💯1
calc() в CSS используется для выполнения математических вычислений непосредственно в стилях. Оно позволяет комбинировать различные единицы измерения, такие как проценты, пиксели, em и другие, для более гибкой настройки размеров элементов.Пример использования:
.element {
width: calc(100% - 50px);
}В этом примере ширина элемента вычисляется как 100% от родительского элемента минус 50 пикселей.
calc() поддерживает операции сложения +, вычитания -, умножения * и деления /. Между операторами и операндами обязательно должны быть пробелы.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Методы
1⃣
2⃣
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
map и forEach используются для работы с массивами.map создает новый массив, применяя функцию к каждому элементу исходного массива. Он возвращает новый массив с результатами вызова функции для каждого элемента. Пример:const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2); // [2, 4, 6]
forEach выполняет функцию для каждого элемента массива, но не возвращает новый массив. Он используется для выполнения операций, которые не требуют возврата значений. Пример:const numbers = [1, 2, 3];
numbers.forEach(num => console.log(num)); // Выводит 1, 2, 3
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤2🔥2
Синтаксис:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡2
<table>, который содержит строки <tr>, ячейки заголовков <th> и ячейки данных <td>. <table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
<tr>
<td>Bob</td>
<td>25</td>
</tr>
</tbody>
</table>
Здесь
<thead> используется для заголовка таблицы, а <tbody> для основного содержимого.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14💯4⚡2
Типы void и never в TypeScript имеют принципиальные различия.
1⃣ void используется для функций, которые не возвращают значение. При этом функция с типом void может вернуть undefined или выполнить какое-то действие без возврата значения.
2⃣ never представляет значения, которые никогда не могут произойти. Функция с типом never никогда не завершит свое выполнение нормально - она либо выбросит ошибку, либо будет выполняться бесконечно.
Пример void:
Пример never:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Пример void:
function logMessage(): void {
console.log("Hello");
}Пример never:
function throwError(): never {
throw new Error("Something went wrong");
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤1
Spread operator (оператор расширения) - это синтаксис с тремя точками (...), который позволяет "распаковать" элементы массива или свойства объекта.
⏩ С массивами:
⏩ С объектами:
⏩ Spread также удобен для создания копий массивов и объектов, передачи аргументов в функции:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
const numbers = [1, 2, 3];
const newNumbers = [...numbers, 4, 5]; // [1, 2, 3, 4, 5]
const person = { name: 'John' };
const details = { age: 30 };
const fullPerson = { ...person, ...details }; // { name: 'John', age: 30 }const copy = [...array];
Math.max(...numbers);
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Обычно сброс включает в себя обнуление отступов, полей, размеров шрифтов и других свойств. Это позволяет разработчикам начинать с чистого листа и задавать стили, которые будут одинаково отображаться во всех браузерах.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤2
git branch <имя_ветки>. Это создаст новую ветку с указанным именем, но не переключит на неё.git checkout -b <имя_ветки>. Эта команда создаёт ветку и делает её текущей.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3👀1
При вызове
useState передается начальное значение состояния. Важно помнить, что обновление состояния асинхронно и может быть объединено с другими обновлениями.import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Счетчик: {count}</p>
<button onClick={() => setCount(count + 1)}>Увеличить</button>
</div>
);
}useState инициализирует состояние count значением 0. Функция setCount обновляет это состояние при нажатии на кнопку.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2
В HTML-формах атрибуты
1⃣ Атрибут
2⃣ Атрибут
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
action и method играют ключевую роль в определении поведения формы при отправке данных.action указывает URL, куда будут отправлены данные формы. Это может быть скрипт или API, который обработает полученные данные.method определяет HTTP-метод, используемый для отправки данных. Чаще всего используются методы GET и POST. GET отправляет данные в URL-строке, а POST — в теле запроса.<form action="/submit" method="post">
<input type="text" name="username">
<button type="submit">Отправить</button>
</form>
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥1
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2❤1
Пример простого компонента на Vue.js:
Vue.component('example-component', {
template: '<div>Hello, Vue!</div>'
});Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Функция — это блок кода, предназначенный для выполнения определенной задачи. Использование функций улучшает читаемость и повторное использование кода.
Объявление функции в JavaScript можно осуществить несколькими способами:
1⃣ Функциональное объявление:
2⃣ Функциональное выражение:
3⃣ Стрелочная функция:
🟥 Каждый из этих методов позволяет создавать функции, которые можно вызывать с разными аргументами для выполнения заданных действий.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Объявление функции в JavaScript можно осуществить несколькими способами:
function greet(name) {
return `Hello, ${name}!`;
}
const greet = function(name) {
return
Hello, ${name}!;
};
const greet = (name) =>
Hello, ${name}!;Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3🤔2
React.createElement(). Например, <div>Hello</div> преобразуется в React.createElement('div', null, 'Hello'). Это позволяет React создавать виртуальное DOM-дерево, оптимизируя обновления реального DOM. JSX поддерживает JavaScript-выражения внутри фигурных скобок {}.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥4❤2
margin-top, margin-right, margin-bottom, margin-left, или с помощью сокращенной записи margin, где значения указываются по часовой стрелке, начиная с верхнего отступа..element {
margin: 10px 20px 15px 5px; /* top, right, bottom, left */
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4
placeholder используется в HTML для предоставления подсказки или примера ввода в текстовых полях формы. Он отображает текст внутри поля ввода, когда оно пустое и не в фокусе, помогая пользователю понять, какую информацию следует ввести.<input type="text" placeholder="Enter your name">
placeholder исчезает при вводе данных.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
enum Direction {
Up,
Down,
Left,
Right
}
const move: Direction = Direction.Up;enum Status {
Active = 1,
Inactive,
Pending
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2