Обсудите словами то, что вы узнали на уроке сегодня или на этой неделе.
Я научился использовать Redux в своих реагирующих приложениях.
Как работает подъем в JavaScript?
Подъем — это механизм JavaScript, в котором объявления переменных и функций перемещаются в верхнюю часть своей области видимости перед выполнением кода.
https://scotch.io/tutorials/understanding-hoisting-in-javascript
Почему setState()
в React Async вместо Sync?
Это связано с тем, что setState изменяет состояние и вызывает повторную визуализацию. Это может быть дорогостоящей операцией, и если сделать ее синхронной, браузер может перестать отвечать на запросы. Таким образом, вызовы setState являются асинхронными, а также пакетными для улучшения пользовательского интерфейса и производительности.
https://stackoverflow.com/questions/36085726/why-is-setstate-in-reactjs-async-вместо-синхронизации
Чем Virtual-DOM эффективнее грязной проверки?
По словам Мэтта Эша в stackoverflow:
«В React каждый из ваших компонентов имеет состояние. Это состояние похоже на наблюдаемое, которое вы можете найти в нокауте или других библиотеках стилей MVVM. По сути, React знает, когда повторно визуализировать сцену, потому что он может наблюдать, когда эти данные изменяются. Грязная проверка медленнее, чем наблюдаемые, потому что вы должны опрашивать данные через регулярные промежутки времени и рекурсивно проверять все значения в структуре данных. Для сравнения, установка значения состояния будет сигнализировать слушателю, что какое-то состояние изменилось, поэтому React может просто прослушивать события изменения состояния и ставить в очередь повторный рендеринг.
Виртуальный DOM используется для эффективного повторного рендеринга DOM. На самом деле это не связано с грязной проверкой ваших данных. Вы можете выполнить повторный рендеринг с использованием виртуального DOM с грязной проверкой или без нее. Вы правы в том, что при вычислении различий между двумя виртуальными деревьями возникают некоторые накладные расходы, но виртуальные различия DOM связаны с пониманием того, что нужно обновить в DOM, а не с тем, изменились ли ваши данные. На самом деле, алгоритм сравнения сам по себе является грязным средством проверки, но вместо этого он используется для проверки того, не является ли DOM грязным.
Мы стремимся повторно отображать виртуальное дерево только при изменении состояния. Таким образом, использование наблюдаемого объекта для проверки того, изменилось ли состояние, является эффективным способом предотвращения ненужных повторных рендерингов, которые могут привести к большому количеству ненужных различий дерева. Если ничего не изменилось, мы ничего не делаем.
Виртуальный DOM удобен тем, что позволяет нам писать наш код так, как если бы мы повторно визуализировали всю сцену. За кулисами мы хотим вычислить операцию исправления, которая обновляет DOM, чтобы она выглядела так, как мы ожидаем. Таким образом, хотя алгоритм diff/patch виртуального DOM вероятно, не является оптимальным решением, он дает нам очень хороший способ выразить наши приложения. Мы просто объявляем, что именно мы хотим, и React/virtual-dom решит, как сделать вашу сцену похожей на эту. Нам не нужно вручную манипулировать DOM или путаться в предыдущем состоянии DOM. Нам также не нужно повторно рендерить всю сцену, что может быть гораздо менее эффективно, чем ее исправление».
Что такое PureComponent
? Когда использовать PureComponent
вместо Component
?
Основное различие между React.PureComponent
и React.Component
заключается в том, что PureComponent
выполняет поверхностное сравнение при изменении состояния. Это означает, что при сравнении скалярных значений сравниваются их значения, а при сравнении объектов сравниваются только ссылки. Это помогает улучшить производительность приложения.
Вы должны пойти на React.PureComponent
, когда вы можете удовлетворить любое из следующих условий.
- State/Props должен быть неизменяемым объектом
- State/Props не должны иметь иерархии
- Вы должны вызывать
forceUpdate
при изменении данных
Если вы используете React.PureComponent
, вы должны убедиться, что все дочерние компоненты также чистые.
https://stackoverflow.com/questions/41340697/react-component-vs-react-purecomponent/53740921
Что такое компонент более высокого порядка?
Компонент высшего порядка (HOC) — это продвинутая техника в React для повторного использования логики компонента. HOC сами по себе не являются частью React API. Это паттерн, вытекающий из композиционной природы React.
Конкретно компонент более высокого порядка — это функция, которая принимает компонент и возвращает новый компонент.
https://reactjs.org/docs/higher-order-components.html
Как вы думаете, можно ли использовать функцию checkAuth()
для фактической проверки электронной почты и пароля пользователя?
Я мог найти функцию checkAuth() только в PHP, а не в javascript или реагировать. Вместо этого я нашел несколько различных методов проверки электронной почты и пароля пользователя. В одном примере использовались встроенные функции Firebase и была создана функция doSendEmailVerification() для проверки электронной почты пользователя:
класс Firebase {
doSendEmailVerification = () =›
this.auth.currentUser.sendEmailVerification({
URL-адрес: process.env.REACT_APP_CONFIRMATION_EMAIL_REDIRECT,
})
}