Флоу рендеринга компонента в React
Небольшая шпаргалка, которая содержит в себе очередь вызова эффектов при маунте и апдейте компонента.
➡️ При маунте порядок следующий:
1. Рендер на основе изначальных значений состояний
2.
3. Создание DOM
4. Прикрепление ссылок на ноды (ref)
5.
6.
➡️ При апдейте компонента:
1. Рендер на основе новых значений состояний
2. Обновление DOM
3.
4. Прикрепление ссылок на ноды (ref)
5.
6.
📎 Решил вынести её в канал, потому что сам прям недавно сталкивался с этим на рабочем проекте и подумал, что это тоже кому-то может быть полезно
Ну и не реклама, а реально рекомендация — на эту тему хочу поделиться видео Аюба Бегимкулова о нестандартном применении useInsertionEffect. Там он более подробно рассказывает почему порядок именно такой и в целом чуть более подробно раскрывает тему рендера с примерами в коде
Спасибо за прочтение, это важно для меня❤️
@prog_way_blog — чат — #web #theory #react
Небольшая шпаргалка, которая содержит в себе очередь вызова эффектов при маунте и апдейте компонента.
1. Рендер на основе изначальных значений состояний
2.
useInsertionEffect
3. Создание DOM
4. Прикрепление ссылок на ноды (ref)
5.
useLayoutEffect
6.
useEffect
1. Рендер на основе новых значений состояний
2. Обновление DOM
3.
useInsertionEffect
4. Прикрепление ссылок на ноды (ref)
5.
useLayoutEffect
6.
useEffect
Ну и не реклама, а реально рекомендация — на эту тему хочу поделиться видео Аюба Бегимкулова о нестандартном применении useInsertionEffect. Там он более подробно рассказывает почему порядок именно такой и в целом чуть более подробно раскрывает тему рендера с примерами в коде
Спасибо за прочтение, это важно для меня
@prog_way_blog — чат — #web #theory #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34🐳5☃1❤1👍1
Верстка писем — это боль? или нет..?
Вёрстка письма — это крайне специфичное занятие, при котором нет возможности использовать добрую половину, если не больше, возможностей HTML и CSS
Почтовые движки настолько старые, что многие из них до сих пор требуют верстки с использованием таблиц, прямо как в 90-х. Но гораздо интереснее вопрос — почему получилось именно так? Я бы выделил пару причин:
➡️ Что и так понятно, причина историческая
Вёрстка письма — задача часто тривиальная. Вот многие и не заморачиваются с обновлением движков, так как это не дает какой-то бизнес выгоды. Нет абсолютно никакой разницы между вёрсткой письма для отправки PIN-кода для входа на таблицах или на флексах
➡️ Безопасность
Если углубиться и задуматься, то окажется, что у большинства запретов есть свой вполне объективный смысл. Есть много способов "заставить" вёрстку сходить куда-то за данными:
И ещё куча других примеров — везде так или иначе наше письмо отправляет какой-то запрос. А это уже опасно тем, что открывает кучу возможностей для слежки за пользователем. Например, можно узнать реальный IP пользователя просто при открытии письма (открытие письма → запрос картинки → трекинг IP)
Также, например, запрещён
— Outlook теперь рендерит письма на движке от Edge, а не отMicrosoft Word (блин, да! до 2022 года письма реально рендерились на основе... ворда! )
— почти все почтовые клиенты научились понимать<div /> 😎
— много где появилась поддержка медиа запросов
— ну и много чего ещё
А самое главное, что появились крутые инструменты для вёрстки писем, которые из коробки закрывают много проблем — когда-то относительно давно появился MJML и сделал небольшую революцию, а в последние годы так и вовсе очень сильно хайпят react-email или vue-email
Мне недавно довелось сверстать десяток писем на
— тут тебе и
— и аля аналог
— кастомные шрифты
— куча шаблонов и примеров кода
— поддержка
— куча фиксов для почтовых клиентов...
И всё это чудо в удобной обёртке из коробки с поддержкой компонентного подхода без смс и даже без регистрации
Как по мне, в современных реалиях верстать письма стало в разы легче, за что большое спасибо всему комьюнити. Если вдруг ранее вы обходили стороной вёрстку писем, загляните. Это тоже по-своему интересно
Ну и
Спасибо за прочтение, это важно для меня❤️
@prog_way_blog — чат — #useful #web #react
Если вы думали, что адаптивная верстка для всех браузеров — это сложно, попробуйте сверстать email, который одинаково выглядит в Gmail, Outlook, Yahoo и десятках других почтовых клиентов...
Вёрстка письма — это крайне специфичное занятие, при котором нет возможности использовать добрую половину, если не больше, возможностей HTML и CSS
Почтовые движки настолько старые, что многие из них до сих пор требуют верстки с использованием таблиц, прямо как в 90-х. Но гораздо интереснее вопрос — почему получилось именно так? Я бы выделил пару причин:
Вёрстка письма — задача часто тривиальная. Вот многие и не заморачиваются с обновлением движков, так как это не дает какой-то бизнес выгоды. Нет абсолютно никакой разницы между вёрсткой письма для отправки PIN-кода для входа на таблицах или на флексах
Если углубиться и задуматься, то окажется, что у большинства запретов есть свой вполне объективный смысл. Есть много способов "заставить" вёрстку сходить куда-то за данными:
@font-face { src: url(...) }
background-image: url(...)
list-style-image: url(...)
<form action="https://.../steal.php" method="get">
И ещё куча других примеров — везде так или иначе наше письмо отправляет какой-то запрос. А это уже опасно тем, что открывает кучу возможностей для слежки за пользователем. Например, можно узнать реальный IP пользователя просто при открытии письма (открытие письма → запрос картинки → трекинг IP)
Также, например, запрещён
position:fixed
, потому что позволяет фиксировать элементы на экране, что можно использовать для фишинга. Например, можно зафиксировать модалку поверх письма с призывом ввести пароль, и она будет выглядеть как часть интерфейса почтового клиентаНо самое главное, что всё реально развивается и стало лучше!
— Outlook теперь рендерит письма на движке от Edge, а не от
— почти все почтовые клиенты научились понимать
— много где появилась поддержка медиа запросов
— ну и много чего ещё
А самое главное, что появились крутые инструменты для вёрстки писем, которые из коробки закрывают много проблем — когда-то относительно давно появился MJML и сделал небольшую революцию, а в последние годы так и вовсе очень сильно хайпят react-email или vue-email
Мне недавно довелось сверстать десяток писем на
react-email
и с уверенностью могу сказать, что это было совсем-совсем не больно: — тут тебе и
tailwind
— и аля аналог
storybook
для шаблонов— кастомные шрифты
— куча шаблонов и примеров кода
— поддержка
markdown
для текстов — куча фиксов для почтовых клиентов...
И всё это чудо в удобной обёртке из коробки с поддержкой компонентного подхода без смс и даже без регистрации
Как по мне, в современных реалиях верстать письма стало в разы легче, за что большое спасибо всему комьюнити. Если вдруг ранее вы обходили стороной вёрстку писем, загляните. Это тоже по-своему интересно
Ну и
react-email
тоже рекомендую, приятный инструментСпасибо за прочтение, это важно для меня
@prog_way_blog — чат — #useful #web #react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤6🔥6🐳2🤔1