Что такое React.StrictMode?
StrictMode — инструмент для обнаружения потенциальных проблем в приложении. Так же как и Fragment, StrictMode не рендерит видимого UI. Строгий режим активирует дополнительные проверки и предупреждения для своих потомков.
Примечание: Проверки строгого режима работают только в режиме разработки; они не оказывают никакого эффекта в продакшен-сборке. Строгий режим может быть включён для любой части приложения.
На данный момент StrictMode помогает в:
- обнаружении небезопасных методов жизненного цикла
- предупреждении об использовании устаревшего API строковых реф
- предупреждении об использовании устаревшего метода findDOMNode
- обнаружении неожиданных побочных эффектов
- обнаружении устаревшего API контекста
- обеспечение переиспользуемости состояния
👉 @frontendInterview
StrictMode — инструмент для обнаружения потенциальных проблем в приложении. Так же как и Fragment, StrictMode не рендерит видимого UI. Строгий режим активирует дополнительные проверки и предупреждения для своих потомков.
Примечание: Проверки строгого режима работают только в режиме разработки; они не оказывают никакого эффекта в продакшен-сборке. Строгий режим может быть включён для любой части приложения.
На данный момент StrictMode помогает в:
- обнаружении небезопасных методов жизненного цикла
- предупреждении об использовании устаревшего API строковых реф
- предупреждении об использовании устаревшего метода findDOMNode
- обнаружении неожиданных побочных эффектов
- обнаружении устаревшего API контекста
- обеспечение переиспользуемости состояния
👉 @frontendInterview
👍5🔥4
Как определить, является ли значение переменной 'NaN'?
Anonymous Quiz
2%
==
5%
===
59%
isNaN
34%
Number.isNaN
👎33👍20
Можно ли задать язык для отдельного фрагмента сайта, по аналогии с тем, как мы задаем язык для всего сайта?
Anonymous Quiz
80%
Да
20%
Нет
Что такое конкурентный режим?
Конкурентный режим предназначен для более плавной работы приложения на устройстве пользователя.
Одна из областей, где данная фича применяется, это прерываемый рендеринг. Представьте, что пользователь вводит в строку поиска текст. Это событие обновляет состояние компонента, и происходит рендер нового списка результатов. Во время этого процесса залипает ввод: браузер не может обновить введенный в поле текст, так как занимается рендером нового списка результатов. Конкурентный режим исправляет это ограничение, делая рендер прерываемым.
👉 @frontendInterview
Конкурентный режим предназначен для более плавной работы приложения на устройстве пользователя.
Одна из областей, где данная фича применяется, это прерываемый рендеринг. Представьте, что пользователь вводит в строку поиска текст. Это событие обновляет состояние компонента, и происходит рендер нового списка результатов. Во время этого процесса залипает ввод: браузер не может обновить введенный в поле текст, так как занимается рендером нового списка результатов. Конкурентный режим исправляет это ограничение, делая рендер прерываемым.
👉 @frontendInterview
👍4
Алгоритмы
В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного. Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.
👉 @frontendInterview
В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного. Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.
👉 @frontendInterview
👍5
Spin Around, Touch the Ground
Вам дан массив, состоящий из строк "left" и "right". Каждая строка делает поворот на 90° в соответствующую сторону. Создайте функция, которая вернет количество разворотов на 360°.
Примеры:
👉 @frontendInterview
Вам дан массив, состоящий из строк "left" и "right". Каждая строка делает поворот на 90° в соответствующую сторону. Создайте функция, которая вернет количество разворотов на 360°.
Примеры:
["left", "right", "left", "right"] ➞ 0
["right", "right", "right", "right", "right", "right", "right", "right"] ➞ 2
["left", "left", "left", "left"] ➞ 1👉 @frontendInterview
👍5
Знаешь что такое черная пятница в IT?
Хостинг aeza.net устраивает распродажи виртуальных и выделенных серверов на базе процессоров AMD Ryzen 7950X и 7950X3D по очень выгодным ценам.
Вас ожидают скидки до 20%, кэшбек, а так же скидки на панель ispmanager.
Залетай к нам c 11.11 по 18.11 и забирай, пока не разобрали, число серверов ограничено
Наш новостной канал
Реклама. ООО "АЕЗА ГРУПП" ИНН 7813654490 erid: LatgBXPFR
Хостинг aeza.net устраивает распродажи виртуальных и выделенных серверов на базе процессоров AMD Ryzen 7950X и 7950X3D по очень выгодным ценам.
Вас ожидают скидки до 20%, кэшбек, а так же скидки на панель ispmanager.
Залетай к нам c 11.11 по 18.11 и забирай, пока не разобрали, число серверов ограничено
Наш новостной канал
Реклама. ООО "АЕЗА ГРУПП" ИНН 7813654490 erid: LatgBXPFR
❤2👍2🥰2
Что такое useLayoutEffect в React?
Хук useLayoutEffect имеет такое же api как и useEffect. Отличия:
- useLayoutEffect - синхронный и будет вызван до того, как браузер сможет отрисовать компоненты. Срабатывает когда компоненты уже находятся на virtual dom (в памяти и можно прочитать/установить различные свойств), но еще не были отрисованы браузером.
- useEffect - асинхронный и будет вызван после того, как браузер отрисует компоненты.
Хук useLayoutEffect предотвращает лишнее обновление компонента.
👉 @frontendInterview
Хук useLayoutEffect имеет такое же api как и useEffect. Отличия:
- useLayoutEffect - синхронный и будет вызван до того, как браузер сможет отрисовать компоненты. Срабатывает когда компоненты уже находятся на virtual dom (в памяти и можно прочитать/установить различные свойств), но еще не были отрисованы браузером.
- useEffect - асинхронный и будет вызван после того, как браузер отрисует компоненты.
Хук useLayoutEffect предотвращает лишнее обновление компонента.
👉 @frontendInterview
👍18❤6👎2
Что такое :hover, :active, :disabled, :last-child?
Anonymous Quiz
9%
Селекторы
74%
Псевдоклассы
16%
Псевдоэлементы
1%
Утилиты
👍3
Что такое порталы в React?
Порталы позволяют рендерить дочерние элементы в DOM-узел, находящийся вне DOM-иерархии родительского компонента.
Порталы особенно полезны, когда в родительском компоненте заданы стили overflow: hidden или z-index, и нужно, чтобы дочерний элемент визуально выходил за рамки своего контейнера. Это диалоги, модальные окна или всплывающие подсказки.
👉 @frontendInterview
Порталы позволяют рендерить дочерние элементы в DOM-узел, находящийся вне DOM-иерархии родительского компонента.
Порталы особенно полезны, когда в родительском компоненте заданы стили overflow: hidden или z-index, и нужно, чтобы дочерний элемент визуально выходил за рамки своего контейнера. Это диалоги, модальные окна или всплывающие подсказки.
👉 @frontendInterview
👍7
Что лучше анимировать: transform, margin или width?
Anonymous Quiz
80%
transform
4%
margin
6%
width
10%
Нет разницы
👎12👍8😁6
Какие стадии включает в себя распространение события (event propagation) в DOM?
Anonymous Quiz
82%
Фаза погружения, целевая фаза, фаза всплытия
10%
Фаза начала, фаза цели, фаза завершения
8%
Фаза ввода, фаза редактирования, фаза сохранения
👍2
Что такое refs в React?
Рефы дают возможность получить доступ к DOM-узлам, к которым они привязаны.
Ситуации, в которых использование рефов является оправданным:
- Управление фокусом
- Выделение текста
- Вызов scrollTo
- Вызов анимаций
- Интеграция со сторонними DOM-библиотеками
- Другие случаи
В рефах можно хранить любое значение, а не обязательно ссылку на элемент. Изменение поля ref.current не приводит к реренденру компонента.
👉 @frontendInterview
Рефы дают возможность получить доступ к DOM-узлам, к которым они привязаны.
Ситуации, в которых использование рефов является оправданным:
- Управление фокусом
- Выделение текста
- Вызов scrollTo
- Вызов анимаций
- Интеграция со сторонними DOM-библиотеками
- Другие случаи
В рефах можно хранить любое значение, а не обязательно ссылку на элемент. Изменение поля ref.current не приводит к реренденру компонента.
👉 @frontendInterview
👍11
TypeScript Basics: Learn TypeScript from Scratch and Solidify Your Skills with Projects (2023)
Вначале вы рассмотрите некоторые основы, например, как запустить файл TypeScript и скомпилировать его в JavaScript, а также поймете, как он вписывается в полную экосистему наряду с React, Redux, Angular и Webpack. Используя практический подход, вы рассмотрите ключевые концепции и аспекты Typenoscript. После изучения фундаментальных основ вы перейдете к более сложным темам.
Вы также узнаете о декораторах, которые являются обязательной функцией в Angular. Далее в книге представлен небольшой проект со списком дел, за которым следует более крупный проект "Drag and Drop". Вы увидите, как разделить проект на небольшие управляемые модули, и узнаете, как сделать проект более эффективным с помощью Webpack. Наконец, вы создадите еще два React-проекта с использованием React и Redux.
👉 @frontendInterview
Вначале вы рассмотрите некоторые основы, например, как запустить файл TypeScript и скомпилировать его в JavaScript, а также поймете, как он вписывается в полную экосистему наряду с React, Redux, Angular и Webpack. Используя практический подход, вы рассмотрите ключевые концепции и аспекты Typenoscript. После изучения фундаментальных основ вы перейдете к более сложным темам.
Вы также узнаете о декораторах, которые являются обязательной функцией в Angular. Далее в книге представлен небольшой проект со списком дел, за которым следует более крупный проект "Drag and Drop". Вы увидите, как разделить проект на небольшие управляемые модули, и узнаете, как сделать проект более эффективным с помощью Webpack. Наконец, вы создадите еще два React-проекта с использованием React и Redux.
👉 @frontendInterview
👎3❤2
Colour Association
Вам дан двумерный массив, состоящий из наборов строк, представляющих собой цвет и ассоциацию. Создайте функцию, которая вернет массив объектов, где ключ будет цветом, а значение - ассоциацией.
Пример:
👉 @frontendInterview
Вам дан двумерный массив, состоящий из наборов строк, представляющих собой цвет и ассоциацию. Создайте функцию, которая вернет массив объектов, где ключ будет цветом, а значение - ассоциацией.
Пример:
var array = [["white", "goodness"], ...] //returns [{white: 'goodness'}, ...]👉 @frontendInterview
👍3😁2
Что такое reducer?
reducer - это функция-преобразователь, принимающая на вход текущее состояние и идентификатор действия, которое необходимо совершить над этим состоянием.
Иными словами, reducer возвращает модифицированную требуемым образом версию переданного ему состояния.
Параметром, идентифицирующим действие, обычно выступает объект с полями type (название команды для изменения состояния) и payload (полезная нагрузка - данные, необходимые для модификации).
Эта простая концепция лежит в основе большой части программных решений в рамках React.js для управления состоянием. Она может быть реализована как с использованием хука useReducer, экспортируемого из React, так и в рамках, к примеру, Redux, где она является более развитой.
Вот так может выглядеть реализация функции-преобразователя (reducer):
А вот так её использование:
Хук useReducer принимает на вход reducer и начальное состояние, а возвращает текущее состояние и функцию dispatch для обращения к reducer.
👉 @frontendInterview
reducer - это функция-преобразователь, принимающая на вход текущее состояние и идентификатор действия, которое необходимо совершить над этим состоянием.
Иными словами, reducer возвращает модифицированную требуемым образом версию переданного ему состояния.
Параметром, идентифицирующим действие, обычно выступает объект с полями type (название команды для изменения состояния) и payload (полезная нагрузка - данные, необходимые для модификации).
Эта простая концепция лежит в основе большой части программных решений в рамках React.js для управления состоянием. Она может быть реализована как с использованием хука useReducer, экспортируемого из React, так и в рамках, к примеру, Redux, где она является более развитой.
Вот так может выглядеть реализация функции-преобразователя (reducer):
export default function reducer(state, action) {
switch (action.type) {
case 'add':
return {
...state,
sum: state.sum + action.payload,
}
default: {
throw new Error(`Unknown action: ${action.type}`)
}
}
}А вот так её использование:
import { useReducer } from 'react'
import reducer from './reducer'
const MyComponent = () => {
const [state, dispatch] = useReducer(reducer, sum: 0)
return (
<div>{state.sum}</div>
)
}Хук useReducer принимает на вход reducer и начальное состояние, а возвращает текущее состояние и функцию dispatch для обращения к reducer.
👉 @frontendInterview
👍13👎1