Перечислите методы жизненного цикла компонента Vue
- beforeCreate: Вызывается синхронно сразу после инициализации экземпляра, перед установкой наблюдения за данными и механизмов слежения и событий.
- created: Вызывается синхронно после создания экземпляра. На этом этапе экземпляр закончил обработку опций и настроил наблюдение за данными, вычисляемые свойства, методы, коллбэки методов-наблюдателей и событий. Однако, фаза монтирования ещё не начата и свойство $el на данный момент недоступно.
- beforeMount: Вызывается непосредственно перед начало монтирования: функция render будет вызываться в первый раз. Не вызывается при отрисовке на стороне сервера.
- mounted: Вызывается после монтирования экземпляра. vm.$el установлено. Если необходимо подождать, пока не будут отрисованы и все дочерние, то можно воспользоваться vm.$nextTick внутри mounted.
- beforeUpdate: Вызывается при изменении данных, перед обновлением DOM. Это удобное место для получения доступа к существующему DOM перед обновлением, например, чтобы вручную удалить добавленные слушатели событий. Не вызывается при отрисовке на стороне сервера, потому что на стороне сервера выполняется только первоначальная отрисовка.
- updated: Вызывается после того, как обновится виртуальный DOM вследствие изменений данных.
DOM компонента будет уже обновлён к моменту вызова этого хука, поэтому здесь можно выполнять операции связанные с DOM. Тем не менее, старайтесь избегать изменения состояния в этом хуке. Для реагирования на изменения состояния лучше использовать вычисляемые свойства или отслеживание с помощью методов-наблюдателей.
Обратите внимание, что updated не гарантирует, что все дочерние компоненты также были перерисованы. Если необходимо подождать, пока дочерние компоненты не будут повторно отрисованы, можно воспользоваться vm.$nextTick внутри updated.
Не вызывается при отрисовке на стороне сервера.
- activated: Вызывается при активации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- deactivated: Вызывается после деактивации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- beforeUnmount: Вызывается перед демонтированием экземпляра компонента. На этом этапе экземпляр компонента всё ещё полностью работоспособен. Не вызывается при отрисовке на стороне сервера.
- unmounted: Вызывается после того, как экземпляр компонента размонтирован. Когда этот хук вызван, все директивы экземпляра компонента уже отвязаны, все слушатели событий удалены и все дочерние экземпляры компонентов размонтированы. Не вызывается при отрисовке на стороне сервера.
- errorCaptured: Вызывается, когда фиксируется ошибка из любого дочернего компонента. Хук получает три аргумента: ошибку, экземпляр компонента, в котором вызвана ошибка, и строку с информацией, где была зафиксирована ошибка. Хук может возвращать false, чтобы остановить дальнейшее распространение ошибки.
-renderTracked: Служит для отслеживания перерисовки виртуального DOM. Хук получает в качестве аргумента debugger event. Это событие сообщает, какая операция была отслежена в компоненте и целевой объект, а также ключ этой операции.
-renderTriggered: Вызывается при срабатывании перерисовки виртуального DOM. Подобно renderTracked в качестве аргумента получает debugger event. Это событие сообщает, какая операция вызвала перерисовку, а также целевой объект и ключ этой операции.
👉 @frontendInterview
- beforeCreate: Вызывается синхронно сразу после инициализации экземпляра, перед установкой наблюдения за данными и механизмов слежения и событий.
- created: Вызывается синхронно после создания экземпляра. На этом этапе экземпляр закончил обработку опций и настроил наблюдение за данными, вычисляемые свойства, методы, коллбэки методов-наблюдателей и событий. Однако, фаза монтирования ещё не начата и свойство $el на данный момент недоступно.
- beforeMount: Вызывается непосредственно перед начало монтирования: функция render будет вызываться в первый раз. Не вызывается при отрисовке на стороне сервера.
- mounted: Вызывается после монтирования экземпляра. vm.$el установлено. Если необходимо подождать, пока не будут отрисованы и все дочерние, то можно воспользоваться vm.$nextTick внутри mounted.
- beforeUpdate: Вызывается при изменении данных, перед обновлением DOM. Это удобное место для получения доступа к существующему DOM перед обновлением, например, чтобы вручную удалить добавленные слушатели событий. Не вызывается при отрисовке на стороне сервера, потому что на стороне сервера выполняется только первоначальная отрисовка.
- updated: Вызывается после того, как обновится виртуальный DOM вследствие изменений данных.
DOM компонента будет уже обновлён к моменту вызова этого хука, поэтому здесь можно выполнять операции связанные с DOM. Тем не менее, старайтесь избегать изменения состояния в этом хуке. Для реагирования на изменения состояния лучше использовать вычисляемые свойства или отслеживание с помощью методов-наблюдателей.
Обратите внимание, что updated не гарантирует, что все дочерние компоненты также были перерисованы. Если необходимо подождать, пока дочерние компоненты не будут повторно отрисованы, можно воспользоваться vm.$nextTick внутри updated.
Не вызывается при отрисовке на стороне сервера.
- activated: Вызывается при активации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- deactivated: Вызывается после деактивации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- beforeUnmount: Вызывается перед демонтированием экземпляра компонента. На этом этапе экземпляр компонента всё ещё полностью работоспособен. Не вызывается при отрисовке на стороне сервера.
- unmounted: Вызывается после того, как экземпляр компонента размонтирован. Когда этот хук вызван, все директивы экземпляра компонента уже отвязаны, все слушатели событий удалены и все дочерние экземпляры компонентов размонтированы. Не вызывается при отрисовке на стороне сервера.
- errorCaptured: Вызывается, когда фиксируется ошибка из любого дочернего компонента. Хук получает три аргумента: ошибку, экземпляр компонента, в котором вызвана ошибка, и строку с информацией, где была зафиксирована ошибка. Хук может возвращать false, чтобы остановить дальнейшее распространение ошибки.
-renderTracked: Служит для отслеживания перерисовки виртуального DOM. Хук получает в качестве аргумента debugger event. Это событие сообщает, какая операция была отслежена в компоненте и целевой объект, а также ключ этой операции.
-renderTriggered: Вызывается при срабатывании перерисовки виртуального DOM. Подобно renderTracked в качестве аргумента получает debugger event. Это событие сообщает, какая операция вызвала перерисовку, а также целевой объект и ключ этой операции.
👉 @frontendInterview
👍10🔥4
Чему равняется высота элемента .parent в следующем примере?
Anonymous Quiz
54%
0
31%
Высоте элемента .child
15%
Растягивается на всю высоту
👍13
В чем разница между v-show и v-if во Vue?
1. v-if рендерит элемент в DOM-дереве только если выражение истинно, в то время как v-show рендерит его при любом условии, но скрывает при помощи CSS.
2. v-if поддерживает директивы v-else и v-else-if, в то время как v-show не имеет альтернативной директивы.
3. v-if требует больше ресурсов при переключении состояния для рендера, а v-show позволяет делать это максимально быстро, но с соответствующими ограничениями.
4. v-if поддерживает <template>, а v-show нет.
👉 @frontendInterview
1. v-if рендерит элемент в DOM-дереве только если выражение истинно, в то время как v-show рендерит его при любом условии, но скрывает при помощи CSS.
2. v-if поддерживает директивы v-else и v-else-if, в то время как v-show не имеет альтернативной директивы.
3. v-if требует больше ресурсов при переключении состояния для рендера, а v-show позволяет делать это максимально быстро, но с соответствующими ограничениями.
4. v-if поддерживает <template>, а v-show нет.
👉 @frontendInterview
👍7
👍16🔥7
Для чего используется свойство transition в CSS?
Anonymous Quiz
9%
Для создания анимаций цвета элементов
85%
Для определения переходного состояния между двумя состояниями элемента
6%
Для изменения позиции элемента при наведении на него курсора
👍7
Что такое Feature-Sliced Design?
Это современный архитектурный подход, используемый для организации и структурирования приложений React. Он направлен на решение проблем масштабируемости, удобства обслуживания и повторного использования путем разделения кодовой базы приложения на основе функций или модулей.
В Feature-Sliced Design каждая функция или модуль приложения организована в отдельный каталог, содержащий все необходимые компоненты, действия, редьюсеры и другие связанные файлы. Это помогает поддерживать модульность и изоляцию кодовой базы, упрощая разработку, тестирование и поддержку.
Проектирование с разделением функций способствует четкому разделению обязанностей и инкапсулирует функциональность в рамках отдельных функций. Это позволяет разным командам или разработчикам работать над различными функциями независимо друг от друга, не беспокоясь о конфликтах или зависимостях.
👉 @frontendInterview
Это современный архитектурный подход, используемый для организации и структурирования приложений React. Он направлен на решение проблем масштабируемости, удобства обслуживания и повторного использования путем разделения кодовой базы приложения на основе функций или модулей.
В Feature-Sliced Design каждая функция или модуль приложения организована в отдельный каталог, содержащий все необходимые компоненты, действия, редьюсеры и другие связанные файлы. Это помогает поддерживать модульность и изоляцию кодовой базы, упрощая разработку, тестирование и поддержку.
Проектирование с разделением функций способствует четкому разделению обязанностей и инкапсулирует функциональность в рамках отдельных функций. Это позволяет разным командам или разработчикам работать над различными функциями независимо друг от друга, не беспокоясь о конфликтах или зависимостях.
👉 @frontendInterview
👍20👎3
Data Structures & Algorithms with JavaScript
Хорошая книга, рассчитанная для тех, кто считает, что JavaScript нужен не только для анимаций и баннеров. Из книги вы узнаете всё про классические структуры данных и алгоритмы с различными примерами реализации. В книге описана работа с алгоритмами поиска/сортировки, массивами, списками, хэш-таблицами и много других полезных тем, которые нужно знать JS-разработчику.
👉 @frontendInterview
Хорошая книга, рассчитанная для тех, кто считает, что JavaScript нужен не только для анимаций и баннеров. Из книги вы узнаете всё про классические структуры данных и алгоритмы с различными примерами реализации. В книге описана работа с алгоритмами поиска/сортировки, массивами, списками, хэш-таблицами и много других полезных тем, которые нужно знать JS-разработчику.
👉 @frontendInterview
👍1
Извлечь домен из URL
Напишите функцию, которая принимает URL-адрес в виде строки и возвращает доменное имя из этого адреса.
Примеры:
👉 @frontendInterview
Напишите функцию, которая принимает URL-адрес в виде строки и возвращает доменное имя из этого адреса.
Примеры:
"http://github.com/carbonfive/raygun" => "github" "https://www.cnet.com" => "cnet"👉 @frontendInterview
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Войти в IT создали годный проект для всех Frontend разработчиков:
1️⃣ Прокачай свои навыки программирования без особых усилий
2️⃣ Каждый день на канале выходят курсы и статьи от ведущих специалистов на рынке IT
3️⃣ Больше не нужно тратить кучу времени на поиск хороших, бесплатных обучающих материалов в интернете
P.S. Мы сами уже давно подписаны и иногда берем контент у них 😏
1️⃣ Прокачай свои навыки программирования без особых усилий
2️⃣ Каждый день на канале выходят курсы и статьи от ведущих специалистов на рынке IT
3️⃣ Больше не нужно тратить кучу времени на поиск хороших, бесплатных обучающих материалов в интернете
P.S. Мы сами уже давно подписаны
Какие основные функции Next.js вы знаете?
- getStaticProps: этот метод используется для получения данных во время сборки и предварительного рендеринга страницы в виде статического HTML. Он гарантирует, что данные будут доступны во время сборки и не будут изменяться при последующих запросах.
- getServerSideProps: Этот метод используется для получения данных по каждому запросу и предварительного рендеринга страницы на сервере. Его можно использовать, когда вам нужно получить данные, которые могут часто изменяться или зависят от пользователя.
- getStaticPaths: этот метод используется в динамических маршрутах для указания списка путей, которые должны быть предварительно отрисованы во время сборки. Обычно используется для получения данных для динамических маршрутов с параметрами.
👉 @frontendInterview
- getStaticProps: этот метод используется для получения данных во время сборки и предварительного рендеринга страницы в виде статического HTML. Он гарантирует, что данные будут доступны во время сборки и не будут изменяться при последующих запросах.
export async function getStaticProps() {
const res = await fetch('https://api.example.com/data');
const data = await res.json();
return {
props: {
data
}
};
}- getServerSideProps: Этот метод используется для получения данных по каждому запросу и предварительного рендеринга страницы на сервере. Его можно использовать, когда вам нужно получить данные, которые могут часто изменяться или зависят от пользователя.
export async function getServerSideProps() {
const res = await fetch('https://api.example.com/data');
const data = await res.json();
return {
props: {
data
}
};
}- getStaticPaths: этот метод используется в динамических маршрутах для указания списка путей, которые должны быть предварительно отрисованы во время сборки. Обычно используется для получения данных для динамических маршрутов с параметрами.
export async function getStaticPaths() {
const res = await fetch('https://api.example.com/posts');
const posts = await res.json();
const paths = posts.map((post) => ({
params: { id: post.id }
}));
return {
paths,
fallback: false
};
}👉 @frontendInterview
👍9❤1
Все кто выбрал вариант 1 - молодцы 👍
Остальным рекомендую с этим разобраться в первую очередь!
Это простые и очень мощные инструменты для адаптивных макетов
Например, чтобы расположить элементы как на картинке достаточно добавить 2 свойства для родительского блока:
Но это только верхушка айсберга, чтобы понастоящему разобраться - поиграйтесь с этим тренажером
Ребята разложили все по полочкам, а задания можно выполнять прямо в браузере
😼 P.S. выравнивать нужно будет в основном котов
Остальным рекомендую с этим разобраться в первую очередь!
Это простые и очень мощные инструменты для адаптивных макетов
Например, чтобы расположить элементы как на картинке достаточно добавить 2 свойства для родительского блока:
flex;
align-items: (один из вариантов)Но это только верхушка айсберга, чтобы понастоящему разобраться - поиграйтесь с этим тренажером
Ребята разложили все по полочкам, а задания можно выполнять прямо в браузере
😼 P.S. выравнивать нужно будет в основном котов
👎13👍6
Какой отступ будет между элементами в следующем примере?
Anonymous Quiz
9%
0
10%
10px
53%
20px
28%
30px
1%
40px
😁21👍15👏3👎2
Какие хуки React вы знаете?
- useState: используется для управления состоянием в функциональных компонентах.
- useEffect: используется для выполнения побочных эффектов в функциональных компонентах, таких как получение данных или подписка на события.
- useContext: используется для доступа к значению контекста React в функциональном компоненте.
- useRef: Используется для создания изменяемых ссылок на элементы или значения, которые сохраняются между рендерами.
- useCallback: Используется для мемоизации функций, чтобы предотвратить ненужные повторные рендеры.
- useMemo: используется для мемоизации значений с целью повышения производительности за счет кэширования ресурсоемких вычислений.
- useReducer: Используется для управления состоянием с помощью функции редьюсера, аналогично тому, как работает Redux.
- useLayoutEffect: похож на useEffect, но эффект выполняется синхронно после всех мутаций DOM.
Эти хуки предоставляют мощные инструменты для управления состоянием, обработки побочных эффектов и повторного использования логики в функциональных компонентах React.
👉 @frontendInterview
- useState: используется для управления состоянием в функциональных компонентах.
- useEffect: используется для выполнения побочных эффектов в функциональных компонентах, таких как получение данных или подписка на события.
- useContext: используется для доступа к значению контекста React в функциональном компоненте.
- useRef: Используется для создания изменяемых ссылок на элементы или значения, которые сохраняются между рендерами.
- useCallback: Используется для мемоизации функций, чтобы предотвратить ненужные повторные рендеры.
- useMemo: используется для мемоизации значений с целью повышения производительности за счет кэширования ресурсоемких вычислений.
- useReducer: Используется для управления состоянием с помощью функции редьюсера, аналогично тому, как работает Redux.
- useLayoutEffect: похож на useEffect, но эффект выполняется синхронно после всех мутаций DOM.
Эти хуки предоставляют мощные инструменты для управления состоянием, обработки побочных эффектов и повторного использования логики в функциональных компонентах React.
👉 @frontendInterview
👍19
Верстаешь?
Оцени 7 причин пройти наш бесплатный интенсив по Frontend-разработке:
1. Ты сверстаешь веб-сайт на HTML + CSS;
2. Оживишь страницу с помощью JavaScript;
3. Используешь фронтенд-фреймворк Angular;
4. Подключишь Backend и загрузишь сайт на хостинг;
5. Получишь советы по доработке своего проекта;
6. Добавишь в портфолио 1 качественный проект;
7. Получишь в подарок чек-лист «45 мест для поиска работы».
А главное, ты проведёшь 7 дней в приятной компании Fullstack-разработчика с 10-летним стажем – Романа Чернова.
👉 Проскочить на интенсив бесплатно
Начинаем 18 января.
Оцени 7 причин пройти наш бесплатный интенсив по Frontend-разработке:
1. Ты сверстаешь веб-сайт на HTML + CSS;
2. Оживишь страницу с помощью JavaScript;
3. Используешь фронтенд-фреймворк Angular;
4. Подключишь Backend и загрузишь сайт на хостинг;
5. Получишь советы по доработке своего проекта;
6. Добавишь в портфолио 1 качественный проект;
7. Получишь в подарок чек-лист «45 мест для поиска работы».
А главное, ты проведёшь 7 дней в приятной компании Fullstack-разработчика с 10-летним стажем – Романа Чернова.
👉 Проскочить на интенсив бесплатно
Начинаем 18 января.
❤2👎2
Чем помогает использование виртуального DOM в React?
Anonymous Quiz
4%
Минимизирует количество запросов к серверу
1%
Повышает безопасность приложения
95%
Минимизирует количество фактических манипуляций с DOM и повышает общую производительность приложения
👍5