Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
isFinite(). Она возвращает true, если переданное значение является конечным числом, и false в противном случае.
isFinite(25); // true, так как 25 — конечное число
isFinite(Infinity); // false, так как Infinity — не конечное число
isFinite("123"); // true, строка "123" преобразуется в число 123
isFinite("abc"); // false, строка "abc" не может быть преобразована в число
Функция автоматически преобразует переданное значение в число, если это возможно, и затем проверяет его конечность.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
map(), который преобразует массив данных в массив JSX-элементов. Ключи необходимы для идентификации элементов списка и улучшения производительности при обновлениях.
const items = ['Apple', 'Banana', 'Cherry'];
const listItems = items.map((item, index) => (
<li key={index}>{item}</li> // Использование ключей для каждого элемента
));
return <ul>{listItems}</ul>;
Ключи должны быть уникальными среди соседних элементов, что помогает React эффективно обновлять и рендерить компоненты.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
viewport управляет отображением веб-страницы на мобильных устройствах, определяя размер и масштаб области просмотра. Он помогает адаптировать контент под разные экраны, улучшая пользовательский опыт.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Атрибут
width=device-width устанавливает ширину страницы равной ширине экрана устройства, а initial-scale=1.0 задает начальный масштаб, обеспечивая корректное отображение.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11✍2❤1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
v-for используется для рендеринга списка элементов на основе данных массива. Она перебирает элементы массива и создает экземпляр шаблона для каждого элемента.
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item }}
</li>
</ul>
Атрибут
:key помогает Vue отслеживать изменения в списке, обеспечивая эффективное обновление DOM.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7
Date.now() возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC. Это удобный способ получить текущее время в виде числового значения, что полезно для измерения интервалов или работы с временными метками.
const timestamp = Date.now();
// timestamp содержит количество миллисекунд с начала эпохи Unix
Метод не создает объект
Date, что делает его более производительным по сравнению с использованием new Date().getTime(). Часто применяется для замера времени выполнения кода или генерации уникальных идентификаторов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯1
git merge --abort отменяет процесс слияния и вернет рабочую директорию в состояние, которое было до начала слияния. Это полезно, если в процессе возникли конфликты или слияние нужно прервать по другим причинам.
git merge --abort
Команда работает только в случае, если слияние не было завершено. После выполнения репозиторий возвращается к состоянию, в котором он находился до вызова
git merge.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5
1. Использование тернарного оператора:
const Component = ({ isLoggedIn }) => (
isLoggedIn ? <WelcomeMessage /> : <LoginButton />
);
Если
isLoggedIn истинно, отобразится WelcomeMessage, иначе — LoginButton.2. Использование логического оператора &&:
const Component = ({ hasItems }) => (
hasItems && <ItemList />
);
Если
hasItems истинно, отобразится ItemList, иначе ничего не будет показано.3. Использование условных операторов в JSX:
const Component = ({ isLoading }) => {
if (isLoading) {
return <Spinner />;
}
return <Content />;
};
В зависимости от значения
isLoading возвращается либо Spinner, либо Content.Эти подходы позволяют гибко управлять отображением компонентов в зависимости от состояния приложения.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
<T> и заменяются конкретным типом при использовании.
function identity<T>(arg: T): T {
return arg;
}
Функция
identity принимает аргумент типа T и возвращает значение того же типа. Это позволяет использовать её с любым типом данных.
const result = identity<string>("Hello");
Здесь
T заменяется на string, и функция работает с этим типом.Дженерики полезны для создания переиспользуемого кода, который остаётся типобезопасным и гибким.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
methods компонента. Они используются для обработки событий, выполнения логики или изменения состояния компонента. Методы можно вызывать из шаблона через директивы (например, v-on) или из других методов.
export default {
data() {
return {
count: 0
};
},
methods: {
increment() {
this.count++;
}
}
};
В шаблоне метод вызывается через
v-on:
<button @click="increment">Увеличить счетчик</button>
Методы реагируют на изменения данных и обновляют DOM через реактивную систему Vue. Они не кэшируются, в отличие от вычисляемых свойств, и выполняются каждый раз при вызове.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
условие ? значение_если_истина : значение_если_ложь.
const isLoggedIn = true;
const message = isLoggedIn ? 'Добро пожаловать' : 'Пожалуйста, войдите';
В этом примере, если
isLoggedIn равно true, переменной message присваивается 'Добро пожаловать', иначе — 'Пожалуйста, войдите'.Тернарный оператор удобен для простых условий, но для сложной логики лучше использовать
if-else, чтобы сохранить читаемость кода.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
родитель потомок.
div p {
color: blue;
}
В этом примере все элементы
<p>, находящиеся внутри <div>, будут стилизованы синим цветом, даже если они вложены в другие элементы.Селектор потомков применяется ко всем подходящим элементам, независимо от их глубины в структуре DOM. Это отличает его от дочернего селектора (>), который выбирает только прямых потомков.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
onChange и onSubmit, позволяют отслеживать ввод данных и отправку формы.
function Form() {
const [inputValue, setInputValue] = useState('');
const handleChange = (e) => {
setInputValue(e.target.value);
};
const handleSubmit = (e) => {
e.preventDefault();
console.log('Отправлено:', inputValue);
};
return (
<form onSubmit={handleSubmit}>
<input type="text" value={inputValue} onChange={handleChange} />
<button type="submit">Отправить</button>
</form>
);
}
onChange обновляет состояние при каждом изменении ввода, а onSubmit обрабатывает отправку формы, предотвращая стандартное поведение браузера с помощью e.preventDefault().Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
<div id="host"></div>
<noscript>
const host = document.getElementById('host');
const shadowRoot = host.attachShadow({ mode: 'open' });
shadowRoot.innerHTML = `<p>Этот текст изолирован в Shadow DOM</p>`;
</noscript>
В этом примере содержимое внутри
shadowRoot изолировано от глобального DOM. Shadow DOM используется в веб-компонентах для создания независимых и переиспользуемых элементов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1