Forwarded from Айтишница Даша
- Почему нельзя просто написать функцию в React?
- Можно, если это чистая функция
- А если нет?
function MyComponent() {
const [data, setData] = useState(null);
const fetchData = async () => {
const response = await fetch(url)
const data = await response.json()
setData(data)
};
fetchData()
return <div>Loading...</div>
}fetchData обращаемся к серверу за данными.setData.fetchData вызывается снова.В результате у нас получается бесконечный цикл !
useEffect(() => {наша функция} , [массив зависимостей])Содержит список всех переменных, от которых зависит эффект:
[]Эффект выполнится один раз при монтировании компоненты.
[props, state, context]Если эти значения изменятся, эффект будет запущен снова. Также сюда можно включить глобальные переменные.
Перепишем наш запрос для получения погоды:
import { useState, useEffect } from 'react';
function MyComponent() {
const [data, setData] = useState(null)
const fetchData = async () => {
const response = await fetch(url)
const data = await response.json()
setData(data)
}
useEffect(() => {
fetchData()
}, [])
return data ? <div>{data}</div> : <div>Loading...</div>
}Как мы решили проблему?
(Часть 1)
#react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥5❤2😁1
Всем привет! Вот и прошли праздники, хорошо отдохнул. За неделю произошло множество значимых событий в моей жизни.
Я заряжен и мотивирован. YeaHub развивается, дела идут. Скоро с ребятами с менторства начнем искать работу. Усиленно готовимся к собеседованиям, много практикуемся, прокачиваем мидловские навыки.
Также сейчас создаю себе систему заметок "Второй мозг". Уж слишком много информации через меня проходит, много дел. Хочу повысить продуктивность. Использую для этого Notion.
Буду теперь ставить четкие цели и день за днем их выполнять. Много идей для видео. Уже не терпится начать.
Как у вас дела? Что нового?
Я заряжен и мотивирован. YeaHub развивается, дела идут. Скоро с ребятами с менторства начнем искать работу. Усиленно готовимся к собеседованиям, много практикуемся, прокачиваем мидловские навыки.
Также сейчас создаю себе систему заметок "Второй мозг". Уж слишком много информации через меня проходит, много дел. Хочу повысить продуктивность. Использую для этого Notion.
Буду теперь ставить четкие цели и день за днем их выполнять. Много идей для видео. Уже не терпится начать.
Как у вас дела? Что нового?
👍16❤3🔥2
эх
а ведь я всего лишь сказал, что не нужно откликаться на вакансии, если вы еще не готовы)
Не нужно откликаться на Реакт разработчика, если вы еще не изучили Реакт)))
Не надо откликаться, если вы еще не можете простое приложение сделать
Как у ребят подгорает
https://www.youtube.com/shorts/xUq7378vlik
а ведь я всего лишь сказал, что не нужно откликаться на вакансии, если вы еще не готовы)
Не нужно откликаться на Реакт разработчика, если вы еще не изучили Реакт)))
Не надо откликаться, если вы еще не можете простое приложение сделать
Как у ребят подгорает
https://www.youtube.com/shorts/xUq7378vlik
😁10👍5🔥1
В конце мая два моих ученика начнут искать работу, и я буду сопровождать их на каждом этапе этого пути. Мы усердно готовились: решали задачи, изучали и разбирали вопросы, практиковались и проводили сессии лайвкодинга.
Сегодня я организую вебинар с участием HR-специалиста для своих учеников. Залифа (@HR_Zalifa) расскажет о процессе трудоустройства, поделится полезными советами, проверит резюме каждого и составит чеклист с рекомендациями. Конечно, она также ответит на все вопросы.
Наши ребята уже справляются с большими задачами, анализируют чужой код и работают в команде. Их уровень подготовки действительно высок. Это совсем не то, что просто добавить в резюме три года опыта после курсов 😎
Скоро я попрошу знакомых провести для них тренировочные собеседования. Ребята уже привыкли ко мне, так что пора добавить немного стресса.
Буду делиться процессом их поиска работы. Обещаю, будет интересно! 💪
Спасибо Залифе, что согласилась провести вебинар.💪
https://news.1rj.ru/str/it_coach1
Сегодня я организую вебинар с участием HR-специалиста для своих учеников. Залифа (@HR_Zalifa) расскажет о процессе трудоустройства, поделится полезными советами, проверит резюме каждого и составит чеклист с рекомендациями. Конечно, она также ответит на все вопросы.
Наши ребята уже справляются с большими задачами, анализируют чужой код и работают в команде. Их уровень подготовки действительно высок. Это совсем не то, что просто добавить в резюме три года опыта после курсов 😎
Скоро я попрошу знакомых провести для них тренировочные собеседования. Ребята уже привыкли ко мне, так что пора добавить немного стресса.
Буду делиться процессом их поиска работы. Обещаю, будет интересно! 💪
Спасибо Залифе, что согласилась провести вебинар.💪
https://news.1rj.ru/str/it_coach1
Telegram
IT карьера с Залифой: рост, деньги, смысл
Карьерный коуч и HR в IT 10+ лет
Мои клиенты уже в Яндексе, Сбере, МТС
Веду группы по дисциплине и поиску работы.
Здесь сообщество силы,где вы вырабатываете дисциплину,уверенность, растёте в доходе на 30%+ и получаете карьеру, которая даёт вам свободу)
Мои клиенты уже в Яндексе, Сбере, МТС
Веду группы по дисциплине и поиску работы.
Здесь сообщество силы,где вы вырабатываете дисциплину,уверенность, растёте в доходе на 30%+ и получаете карьеру, которая даёт вам свободу)
👍11🔥4❤1🤔1
Всем привет. Может есть желающие поучаствовать в собеседовании? Длительность 30-50 минут.
Хочу чтобы ребята с обучения провели собеседование, потренировались и набрались уверенности.
Уровень: Знание HTML, CSS, JavaScript, React, TypeScript
Проведем на выходных. Созвонимся в Google Meets
Нужны 2 человека. Душнить не будем, просто поболтаем, зададим вопросы начиная с верстки и заканчивая экосистемой React.
По желанию запишем собес и я выложу в YouTube с вашего согласия
Итоги: 10.05.2024 17:00
Хочу чтобы ребята с обучения провели собеседование, потренировались и набрались уверенности.
Уровень: Знание HTML, CSS, JavaScript, React, TypeScript
Проведем на выходных. Созвонимся в Google Meets
Нужны 2 человека. Душнить не будем, просто поболтаем, зададим вопросы начиная с верстки и заканчивая экосистемой React.
По желанию запишем собес и я выложу в YouTube с вашего согласия
Итоги: 10.05.2024 17:00
👍19🔥4❤3
Поделитесь мнением. Неужели плохое видео? 😢
Вроде монтаж неплохой, много примеров, без воды, почти все о функциях рассказал. Все концепции разобрал.
Что не так? 🤷♂️
https://youtu.be/XyeS37LbNyU?si=AC4XoGAs3RtRiJX3
Вроде монтаж неплохой, много примеров, без воды, почти все о функциях рассказал. Все концепции разобрал.
Что не так? 🤷♂️
https://youtu.be/XyeS37LbNyU?si=AC4XoGAs3RtRiJX3
YouTube
Функции в JavaScript. 30+ концепций в одном видео
В этом видео мы рассмотрели основные аспекты функций в JavaScript, которые включают в себя различные способы их объявления, такие как Function Declaration и Function Expression.
Мы также углубились в различные типы функций: методы объектов, стрелочные функции…
Мы также углубились в различные типы функций: методы объектов, стрелочные функции…
👍9🔥3😢1
Новое видео на канале!
Собеседую ученика. Вроде держится молодцом. Как считаете?
https://youtu.be/fNhEAnp3ntw
Собеседую ученика. Вроде держится молодцом. Как считаете?
https://youtu.be/fNhEAnp3ntw
YouTube
Frontend Собеседование с разбором. Путь к трудоустройству 2024
В этом видео представлено тестовое собеседование фронтенд-разработчика, где кандидат отвечает на вопросы, связанные с основами HTML, CSS и JavaScript. Обсуждаются темы, такие как структура HTML-страницы, семантические теги, методы предотвращения схлопывания…
🔥10👍5💯2🤝1
Функции в JavaScript. 30+ концепций в одном видео
Как вам новое превью?
Видео без воды, рассмотрены практически все концепции функций в JavaScript. Хочу немного бустануть видео, чтобы проверить новое превью. Проведите выходные с пользой, уделите 25 минут времени, изучите что-то новое сегодня 😎
Записываю для вас годное видео на выходных! На неделе выпущу! Всех хороших выходных🤝
https://youtu.be/XyeS37LbNyU?si=hQr6zVj7_fuWSGXl
Как вам новое превью?
Видео без воды, рассмотрены практически все концепции функций в JavaScript. Хочу немного бустануть видео, чтобы проверить новое превью. Проведите выходные с пользой, уделите 25 минут времени, изучите что-то новое сегодня 😎
Записываю для вас годное видео на выходных! На неделе выпущу! Всех хороших выходных🤝
https://youtu.be/XyeS37LbNyU?si=hQr6zVj7_fuWSGXl
👍19🔥7❤1💯1
Кстати, с момента выхода видео, roadmap обновлялся пару раз. Добавил больше ресурсов и технологий.
Ссылка на Figma
Ссылка на видео
#roadmap
Ссылка на Figma
Ссылка на видео
#roadmap
Figma
ПЛАН РАЗВИТИЯ | РЕСУРСЫ ДЛЯ ОБУЧЕНИЯ | ROADMAP | FRONTEND
Created with FigJam
❤12👍2🔥2
Сегодня утвердил превью для видео. Получилось очень круто!
На волне вдохновения от классного превью, весь день переделывал проект с примерами для первого паттерна. Хотя уже отснял всё, понял, что оно не идеально. Создал новое приложение, красиво оформил, нашел подходящий дизайн. Добавил три крутых примера паттерна Фабрика. Завтра снова снимать буду🙃
Завтра буду монтировать и постараюсь выложить на YouTube. На очереди еще множество полезных видео.💪
На волне вдохновения от классного превью, весь день переделывал проект с примерами для первого паттерна. Хотя уже отснял всё, понял, что оно не идеально. Создал новое приложение, красиво оформил, нашел подходящий дизайн. Добавил три крутых примера паттерна Фабрика. Завтра снова снимать буду🙃
Завтра буду монтировать и постараюсь выложить на YouTube. На очереди еще множество полезных видео.💪
👍15💯2🤝2
Shadow DOM
Shadow DOM позволяет инкапсулировать HTML и CSS в веб-компонентах, скрывая их детали реализации и стили от основного документа, тем самым предотвращая конфликты имен и стилей.
Создание Shadow DOM:
Для добавления Shadow DOM к элементу, используйте метод attachShadow({mode: 'open' | 'closed'}) на целевом элементе. Режим open позволяет доступ к Shadow DOM из основного документа через свойство shadowRoot, в то время как closed делает Shadow DOM полностью инкапсулированным.
Стилизация Shadow DOM:
- Стили внутри Shadow DOM инкапсулированы и не влияют на основной документ, а стили основного документа не влияют на содержимое Shadow DOM.
- Селектор `:host` используется для стилизации корневого элемента Shadow DOM.
- Глобальные стили не проникают в Shadow DOM, но переменные CSS (**`var()`**) и кастомные свойства могут быть использованы для тематизации.
Слоты:
Слоты (<slot>) — это элементы в Shadow DOM, которые определяют места для вставки пользовательского контента из основного DOM. Слоты могут иметь имена (name атрибут), позволяя детально управлять распределением контента.
Взаимодействие с Shadow DOM:
- Доступ к элементам внутри Shadow DOM возможен через `shadowRoot`, если режим установлен в `open`.
- Изоляция Shadow DOM обеспечивает инкапсуляцию, но также требует использования специфичных методов для взаимодействия с ним, особенно в случае `closed` режима.
#shadowdom #html #JavaScript
Shadow DOM позволяет инкапсулировать HTML и CSS в веб-компонентах, скрывая их детали реализации и стили от основного документа, тем самым предотвращая конфликты имен и стилей.
Создание Shadow DOM:
Для добавления Shadow DOM к элементу, используйте метод attachShadow({mode: 'open' | 'closed'}) на целевом элементе. Режим open позволяет доступ к Shadow DOM из основного документа через свойство shadowRoot, в то время как closed делает Shadow DOM полностью инкапсулированным.
let host = document.createElement('div');
let shadowRoot = host.attachShadow({mode: 'open'});
shadowRoot.innerHTML = '<style>:host { color: red; }</style><b>I am in shadow dom!</b>';
document.body.appendChild(host);
Стилизация Shadow DOM:
- Стили внутри Shadow DOM инкапсулированы и не влияют на основной документ, а стили основного документа не влияют на содержимое Shadow DOM.
- Селектор `:host` используется для стилизации корневого элемента Shadow DOM.
- Глобальные стили не проникают в Shadow DOM, но переменные CSS (**`var()`**) и кастомные свойства могут быть использованы для тематизации.
Слоты:
Слоты (<slot>) — это элементы в Shadow DOM, которые определяют места для вставки пользовательского контента из основного DOM. Слоты могут иметь имена (name атрибут), позволяя детально управлять распределением контента.
<!-- В Shadow DOM -->
<slot name="noscript"></slot>
<slot></slot> <!-- default slot -->
<!-- В основном DOM -->
<div slot="noscript">This goes into the named slot</div>
<div>This goes into the default slot</div>
Взаимодействие с Shadow DOM:
- Доступ к элементам внутри Shadow DOM возможен через `shadowRoot`, если режим установлен в `open`.
- Изоляция Shadow DOM обеспечивает инкапсуляцию, но также требует использования специфичных методов для взаимодействия с ним, особенно в случае `closed` режима.
#shadowdom #html #JavaScript
🔥15❤2👍1💯1🤝1