
































































































































<!doctype html>
<html lang="ru-RU">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">

	<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />

	<!-- This site is optimized with the Yoast SEO plugin v27.4 - https://yoast.com/product/yoast-seo-wordpress/ -->
	<title>Кто такой React-разработчик и как им стать с нуля в 2026 году</title>
	<meta name="description" content="Профессия «React-разработчик» - чем занимаются React-программисты и кто это такие, что нужно знать и уметь (обязанности). Как стать разработчиком React JS и где учиться. Зарплаты и примеры вакансий в Москве, СПб, Новосибирске, Екатеринбурге, Казани, Нижнем Новгороде, Челябинске, Самаре, Омске, Ростове-на-Дону, Уфе, Красноярске, Перми, Воронеже, Волгограде, Краснодаре, Саратове, Тюмени, Тольятти, Ижевске, Барнауле, Ульяновске, Иркутске, Хабаровске, Ярославле, Владивостоке, Махачкале, Томске, Оренбурге, Кемерове, Новокузнецке, Рязани, Астрахани, Пензе, Набережных Челнах, Липецке, Туле, Кирова, Чебоксарах, Калининграде, Брянске, Курске, Иванове, Магнитогорске, Твери, Ставрополе, Белгороде, Сочи, Архангельске, Владимире, Симферополе, Смоленске, Саранске, Череповце, Кургане, Волжском, Орле, Владикавказе, Подольске, Грозном, Якутске, Сургуте, Калуге, Таганроге, Братске, Сыктывкаре, Новороссийске, Нижнем Тагиле, Дзержинске, Шахтах, Старом Осколе, Комсомольске-на-Амуре, Благовещенске, Великих Луках, Пскове, Южно-Сахалинске, Ангарске, Армавире, Балашихе, Бийске, Великих Луках, Зеленограде, Златоусте, Каменск-Уральском, Каспийске, Кирово-Чепецке, Коломне, Котласе, Миассе, Назрани, Находке, Нижневартовске, Ногинске, Новомосковске, Новочеркасске, Новошахтинске, Новоуральске, Нягани." />
	<link rel="canonical" href="https://romansementsov.ru/Профессия_React_Разработчик/" />
	<meta property="og:locale" content="ru_RU" />
	<meta property="og:type" content="article" />
	<meta property="og:title" content="Кто такой React-разработчик и как им стать с нуля в 2026 году" />
	<meta property="og:description" content="Профессия «React-разработчик» - чем занимаются React-программисты и кто это такие, что нужно знать и уметь (обязанности). Как стать разработчиком React JS и где учиться. Зарплаты и примеры вакансий в Москве, СПб, Новосибирске, Екатеринбурге, Казани, Нижнем Новгороде, Челябинске, Самаре, Омске, Ростове-на-Дону, Уфе, Красноярске, Перми, Воронеже, Волгограде, Краснодаре, Саратове, Тюмени, Тольятти, Ижевске, Барнауле, Ульяновске, Иркутске, Хабаровске, Ярославле, Владивостоке, Махачкале, Томске, Оренбурге, Кемерове, Новокузнецке, Рязани, Астрахани, Пензе, Набережных Челнах, Липецке, Туле, Кирова, Чебоксарах, Калининграде, Брянске, Курске, Иванове, Магнитогорске, Твери, Ставрополе, Белгороде, Сочи, Архангельске, Владимире, Симферополе, Смоленске, Саранске, Череповце, Кургане, Волжском, Орле, Владикавказе, Подольске, Грозном, Якутске, Сургуте, Калуге, Таганроге, Братске, Сыктывкаре, Новороссийске, Нижнем Тагиле, Дзержинске, Шахтах, Старом Осколе, Комсомольске-на-Амуре, Благовещенске, Великих Луках, Пскове, Южно-Сахалинске, Ангарске, Армавире, Балашихе, Бийске, Великих Луках, Зеленограде, Златоусте, Каменск-Уральском, Каспийске, Кирово-Чепецке, Коломне, Котласе, Миассе, Назрани, Находке, Нижневартовске, Ногинске, Новомосковске, Новочеркасске, Новошахтинске, Новоуральске, Нягани." />
	<meta property="og:url" content="https://romansementsov.ru/Профессия_React_Разработчик/" />
	<meta property="og:site_name" content="RS" />
	<meta property="article:published_time" content="2021-11-19T18:02:02+00:00" />
	<meta property="article:modified_time" content="2025-05-06T10:27:22+00:00" />
	<meta property="og:image" content="https://romansementsov.ru/wp-content/uploads/2021/11/2021-11-19_20-35-51.png" />
	<meta property="og:image:width" content="483" />
	<meta property="og:image:height" content="480" />
	<meta property="og:image:type" content="image/png" />
	<meta name="author" content="Редактор" />
	<meta name="twitter:card" content="summary_large_image" />
	<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#article","isPartOf":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/"},"author":{"name":"Редактор","@id":"https:\/\/romansementsov.ru\/#\/schema\/person\/074767b2695121e39577bb30a06ec049"},"headline":"React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии.","datePublished":"2021-11-19T18:02:02+00:00","dateModified":"2025-05-06T10:27:22+00:00","mainEntityOfPage":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/"},"wordCount":5060,"commentCount":0,"publisher":{"@id":"https:\/\/romansementsov.ru\/#\/schema\/person\/074767b2695121e39577bb30a06ec049"},"image":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#primaryimage"},"thumbnailUrl":"https:\/\/romansementsov.ru\/wp-content\/uploads\/2021\/11\/2021-11-19_20-35-51.png","articleSection":["Обучение"],"inLanguage":"ru-RU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/","url":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/","name":"Кто такой React-разработчик и как им стать с нуля в 2026 году","isPartOf":{"@id":"https:\/\/romansementsov.ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#primaryimage"},"image":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#primaryimage"},"thumbnailUrl":"https:\/\/romansementsov.ru\/wp-content\/uploads\/2021\/11\/2021-11-19_20-35-51.png","datePublished":"2021-11-19T18:02:02+00:00","dateModified":"2025-05-06T10:27:22+00:00","description":"Профессия «React-разработчик» - чем занимаются React-программисты и кто это такие, что нужно знать и уметь (обязанности). Как стать разработчиком React JS и где учиться. Зарплаты и примеры вакансий в Москве, СПб, Новосибирске, Екатеринбурге, Казани, Нижнем Новгороде, Челябинске, Самаре, Омске, Ростове-на-Дону, Уфе, Красноярске, Перми, Воронеже, Волгограде, Краснодаре, Саратове, Тюмени, Тольятти, Ижевске, Барнауле, Ульяновске, Иркутске, Хабаровске, Ярославле, Владивостоке, Махачкале, Томске, Оренбурге, Кемерове, Новокузнецке, Рязани, Астрахани, Пензе, Набережных Челнах, Липецке, Туле, Кирова, Чебоксарах, Калининграде, Брянске, Курске, Иванове, Магнитогорске, Твери, Ставрополе, Белгороде, Сочи, Архангельске, Владимире, Симферополе, Смоленске, Саранске, Череповце, Кургане, Волжском, Орле, Владикавказе, Подольске, Грозном, Якутске, Сургуте, Калуге, Таганроге, Братске, Сыктывкаре, Новороссийске, Нижнем Тагиле, Дзержинске, Шахтах, Старом Осколе, Комсомольске-на-Амуре, Благовещенске, Великих Луках, Пскове, Южно-Сахалинске, Ангарске, Армавире, Балашихе, Бийске, Великих Луках, Зеленограде, Златоусте, Каменск-Уральском, Каспийске, Кирово-Чепецке, Коломне, Котласе, Миассе, Назрани, Находке, Нижневартовске, Ногинске, Новомосковске, Новочеркасске, Новошахтинске, Новоуральске, Нягани.","breadcrumb":{"@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#primaryimage","url":"https:\/\/romansementsov.ru\/wp-content\/uploads\/2021\/11\/2021-11-19_20-35-51.png","contentUrl":"https:\/\/romansementsov.ru\/wp-content\/uploads\/2021\/11\/2021-11-19_20-35-51.png","width":483,"height":480},{"@type":"BreadcrumbList","@id":"https:\/\/romansementsov.ru\/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Блог","item":"https:\/\/romansementsov.ru\/"},{"@type":"ListItem","position":2,"name":"Обучение","item":"https:\/\/romansementsov.ru\/category\/%d0%be%d0%b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5\/"},{"@type":"ListItem","position":3,"name":"React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии."}]},{"@type":"WebSite","@id":"https:\/\/romansementsov.ru\/#website","url":"https:\/\/romansementsov.ru\/","name":"RS","description":"","publisher":{"@id":"https:\/\/romansementsov.ru\/#\/schema\/person\/074767b2695121e39577bb30a06ec049"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/romansementsov.ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https:\/\/romansementsov.ru\/#\/schema\/person\/074767b2695121e39577bb30a06ec049","name":"Редактор","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/secure.gravatar.com\/avatar\/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=96&d=mm&r=g","caption":"Редактор"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=96&d=mm&r=g"},"description":"Подборки всех курсов сделаны на основе открытых источников (поисковые системы). Перед приобретением\/покупкой курса проверяйте юр. данные и отзывы о школе, во избежание какого либо обмана.","sameAs":["https:\/\/romansementsov.ru"],"url":"https:\/\/romansementsov.ru\/author\/tobestone\/"}]}</script>
	<!-- / Yoast SEO plugin. -->


<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel="alternate" type="application/rss+xml" title="RS &raquo; Лента комментариев к &laquo;React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии.&raquo;" href="https://romansementsov.ru/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA/feed/" />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://romansementsov.ru/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fromansementsov.ru%2F%25D0%259F%25D1%2580%25D0%25BE%25D1%2584%25D0%25B5%25D1%2581%25D1%2581%25D0%25B8%25D1%258F_React_%25D0%25A0%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B0%25D0%25B1%25D0%25BE%25D1%2582%25D1%2587%25D0%25B8%25D0%25BA%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://romansementsov.ru/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fromansementsov.ru%2F%25D0%259F%25D1%2580%25D0%25BE%25D1%2584%25D0%25B5%25D1%2581%25D1%2581%25D0%25B8%25D1%258F_React_%25D0%25A0%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B0%25D0%25B1%25D0%25BE%25D1%2582%25D1%2587%25D0%25B8%25D0%25BA%2F&#038;format=xml" />
<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'>
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<link rel='stylesheet' id='wp-block-library-css' href='https://romansementsov.ru/wp-includes/css/dist/block-library/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<style id='wp-block-library-inline-css' type='text/css'>
/*wp_block_styles_on_demand_placeholder:69ea4c103ba19*/
/*# sourceURL=wp-block-library-inline-css */
</style>
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<link rel='stylesheet' id='wp-components-css' href='https://romansementsov.ru/wp-includes/css/dist/components/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='wp-preferences-css' href='https://romansementsov.ru/wp-includes/css/dist/preferences/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='wp-block-editor-css' href='https://romansementsov.ru/wp-includes/css/dist/block-editor/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='wp-reusable-blocks-css' href='https://romansementsov.ru/wp-includes/css/dist/reusable-blocks/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='wp-patterns-css' href='https://romansementsov.ru/wp-includes/css/dist/patterns/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='wp-editor-css' href='https://romansementsov.ru/wp-includes/css/dist/editor/style.min.css?ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='i2-pros-cons-block-style-css-css' href='https://romansementsov.ru/wp-content/plugins/i2-pro-cons/dist/blocks.editor.build.css?ver=1.3.0'  media='all' />
<style id='i2-pros-cons-block-style-css-inline-css' type='text/css'>
 .i2-pros-cons-main-wrapper .i2pctitle{text-align: center!important;} .i2-pros-cons-main-wrapper .i2pctitle{color: #ffffff!important;} .i2-pros-cons-main-wrapper .i2pctitle{background-color: #00bf08!important;} .i2-pros-cons-wrapper .i2-cons-title,.i2-pros-cons-wrapper .i2-pros-title{color: #ffffff!important;}.i2-pros-cons-wrapper .i2-pros-title {background-color: #00bf08 !important;} .i2-pros-cons-wrapper .i2-cons-title{background-color: #bf000a!important;} .i2-pros-cons-wrapper ul li {font-size: 18px!important; line-height : 23.4px;} .i2-pros-cons-wrapper .section ul li i{top: 4px!important;} .i2-pros-cons-wrapper .i2-pros  ul li i{color: #00bf08!important;} .i2-pros-cons-wrapper .i2-cons ul li i{color: #bf000a!important;} .i2-pros-cons-main-wrapper .i2-button-wrapper a{color: #ffffff!important;} .i2-pros-cons-main-wrapper .i2-button-wrapper a{background-color: #00bf08; border-color:#00bf08;} .i2-pros-cons-main-wrapper .i2-button-wrapper a:hover{background-color: #bf000a; border-color:#bf000a;}
/*# sourceURL=i2-pros-cons-block-style-css-inline-css */
</style>
<link rel='stylesheet' id='i2-pros-and-cons-custom-fonts-icons-style-css' href='https://romansementsov.ru/wp-content/plugins/i2-pro-cons/dist/fonts/styles.css?ver=1.3.0'  media='all' />
<link rel='stylesheet' id='cc-frontend-style-css' href='https://romansementsov.ru/wp-content/plugins/course-catalog/assets/css/frontend-style.css?ver=1.0.0'  media='all' />
<link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C400i%2C700%7CMontserrat%3A400%2C400i%2C700&#038;subset=cyrillic&#038;display=swap&#038;ver=9aeb67d7993750518469267684402d42'  media='all' />
<link rel='stylesheet' id='reboot-style-css' href='https://romansementsov.ru/wp-content/themes/reboot/assets/css/style.min.css?ver=1.4.3'  media='all' />
<link rel='stylesheet' id='elementor-frontend-css' href='https://romansementsov.ru/wp-content/plugins/elementor/assets/css/frontend-lite.min.css?ver=3.8.0'  media='all' />
<link rel='stylesheet' id='elementor-post-40680-css' href='https://romansementsov.ru/wp-content/uploads/elementor/css/post-40680.css?ver=1705849899'  media='all' />
<link rel='stylesheet' id='elementor-pro-css' href='https://romansementsov.ru/wp-content/plugins/elementor-pro/assets/css/frontend-lite.min.css?ver=3.7.7'  media='all' />
<link rel='stylesheet' id='font-awesome-5-all-css' href='https://romansementsov.ru/wp-content/plugins/elementor/assets/lib/font-awesome/css/all.min.css?ver=3.8.0'  media='all' />
<link rel='stylesheet' id='font-awesome-4-shim-css' href='https://romansementsov.ru/wp-content/plugins/elementor/assets/lib/font-awesome/css/v4-shims.min.css?ver=3.8.0'  media='all' />
<link rel='stylesheet' id='elementor-global-css' href='https://romansementsov.ru/wp-content/uploads/elementor/css/global.css?ver=1705849900'  media='all' />
<link rel='stylesheet' id='elementor-post-30731-css' href='https://romansementsov.ru/wp-content/uploads/elementor/css/post-30731.css?ver=1746580784'  media='all' />
<link rel='stylesheet' id='google-fonts-1-css' href='https://fonts.googleapis.com/css?family=Montserrat%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&#038;display=auto&#038;subset=cyrillic&#038;ver=9aeb67d7993750518469267684402d42'  media='all' />
<script type="text/javascript" src="https://romansementsov.ru/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
<script type="text/javascript" src="https://romansementsov.ru/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://romansementsov.ru/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?ver=3.8.0" id="font-awesome-4-shim-js"></script>
<link rel="https://api.w.org/" href="https://romansementsov.ru/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://romansementsov.ru/wp-json/wp/v2/posts/30731" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://romansementsov.ru/xmlrpc.php?rsd" />

<link rel='shortlink' href='https://romansementsov.ru/?p=30731' />
<link rel="preload" href="https://romansementsov.ru/wp-content/themes/reboot/assets/fonts/wpshop-core.ttf" as="font" crossorigin><script>var fixed_main_menu = 'yes';</script>
    <style>::selection, .card-slider__category, .card-slider-container .swiper-pagination-bullet-active, .post-card--grid .post-card__thumbnail:before, .post-card:not(.post-card--small) .post-card__thumbnail a:before, .post-card:not(.post-card--small) .post-card__category,  .post-box--high .post-box__category span, .post-box--wide .post-box__category span, .page-separator, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .btn, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .comment-respond .form-submit input, .page-links__item{background-color:#65a836}.entry-image--big .entry-image__body .post-card__category a, .home-text ul:not([class])>li:before, .page-content ul:not([class])>li:before, .taxonomy-description ul:not([class])>li:before, .widget-area .widget_categories ul.menu li a:before, .widget-area .widget_categories ul.menu li span:before, .widget-area .widget_categories>ul li a:before, .widget-area .widget_categories>ul li span:before, .widget-area .widget_nav_menu ul.menu li a:before, .widget-area .widget_nav_menu ul.menu li span:before, .widget-area .widget_nav_menu>ul li a:before, .widget-area .widget_nav_menu>ul li span:before, .page-links .page-numbers:not(.dots):not(.current):before, .page-links .post-page-numbers:not(.dots):not(.current):before, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .pagination .nav-links .post-page-numbers:not(.dots):not(.current):before, .entry-image--full .entry-image__body .post-card__category a, .entry-image--fullscreen .entry-image__body .post-card__category a, .entry-image--wide .entry-image__body .post-card__category a{background-color:#65a836}.comment-respond input:focus, select:focus, textarea:focus, .post-card--grid.post-card--thumbnail-no, .post-card--standard:after, .post-card--related.post-card--thumbnail-no:hover, .spoiler-box, .btn-primary, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .inp:focus, .entry-tag:focus, .entry-tag:hover, .search-screen .search-form .search-field:focus, .entry-content ul:not([class])>li:before, .text-content ul:not([class])>li:before, .page-content ul:not([class])>li:before, .taxonomy-description ul:not([class])>li:before, .entry-content blockquote,
        .input:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus{border-color:#65a836 !important}.post-card--small .post-card__category, .post-card__author:before, .post-card__comments:before, .post-card__date:before, .post-card__like:before, .post-card__views:before, .entry-author:before, .entry-date:before, .entry-time:before, .entry-views:before, .entry-content ol:not([class])>li:before, .text-content ol:not([class])>li:before, .entry-content blockquote:before, .spoiler-box__title:after, .search-icon:hover:before, .search-form .search-submit:hover:before, .star-rating-item.hover,
        .comment-list .bypostauthor>.comment-body .comment-author:after,
        .breadcrumb a, .breadcrumb span,
        .search-screen .search-form .search-submit:before, 
        .star-rating--score-1:not(.hover) .star-rating-item:nth-child(1),
        .star-rating--score-2:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(2),
        .star-rating--score-3:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(3),
        .star-rating--score-4:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(4),
        .star-rating--score-5:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(5){color:#65a836}a:hover, a:focus, a:active, .spanlink:hover, .entry-content a:not(.wp-block-button__link):hover, .entry-content a:not(.wp-block-button__link):focus, .entry-content a:not(.wp-block-button__link):active, .top-menu ul li>span:hover, .main-navigation ul li a:hover, .main-navigation ul li span:hover, .footer-navigation ul li a:hover, .footer-navigation ul li span:hover, .comment-reply-link:hover, .pseudo-link:hover, .child-categories ul li a:hover{color:#65a836}.top-menu>ul>li>a:before, .top-menu>ul>li>span:before{background:#65a836}.child-categories ul li a:hover, .post-box--no-thumb a:hover{border-color:#65a836}.post-box--card:hover{box-shadow: inset 0 0 0 1px #65a836}.post-box--card:hover{-webkit-box-shadow: inset 0 0 0 1px #65a836}body{font-family:"Roboto" ,"Helvetica Neue", Helvetica, Arial, sans-serif;}.site-title, .site-title a{font-family:"Roboto" ,"Helvetica Neue", Helvetica, Arial, sans-serif;}.site-description{font-family:"Roboto" ,"Helvetica Neue", Helvetica, Arial, sans-serif;}</style>
<link rel="icon" href="https://romansementsov.ru/wp-content/uploads/2021/01/cropped-photo-1516910817563-4df1c1b69058-1-32x32.jpg" sizes="32x32" />
<link rel="icon" href="https://romansementsov.ru/wp-content/uploads/2021/01/cropped-photo-1516910817563-4df1c1b69058-1-192x192.jpg" sizes="192x192" />
<link rel="apple-touch-icon" href="https://romansementsov.ru/wp-content/uploads/2021/01/cropped-photo-1516910817563-4df1c1b69058-1-180x180.jpg" />
<meta name="msapplication-TileImage" content="https://romansementsov.ru/wp-content/uploads/2021/01/cropped-photo-1516910817563-4df1c1b69058-1-270x270.jpg" />
		<style type="text/css" id="wp-custom-css">
			#page{
	background-color: #edeff1;
}
.site-title, .site-title a {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size:20px;
}
.entry-excerpt{
	font-weight:400;
	text-align:left !important;
}

h3{
	margin-top: 40px !important;
	margin-bottom:5px !important;
	font-size:1.3em;
}
ul{
	margin-top: 20px !important;
	margin-bottom:5px !important;
}
h2{
	font-size:1.6em;
}		</style>
		    <meta name="ahrefs-site-verification" content="fa87c4719b74c477c7099d113a65711de0c5b47bc35527d557261dd8e95a50c3"></head>

<body class="wp-singular post-template-default single single-post postid-30731 single-format-standard wp-embed-responsive wp-theme-reboot sidebar-none elementor-default elementor-kit-40680 elementor-page elementor-page-30731">



<div id="page" class="site">
    <a class="skip-link screen-reader-text" href="#content">Перейти к содержанию</a>

    <div class="search-screen-overlay js-search-screen-overlay"></div>
    <div class="search-screen js-search-screen">
        
<form role="search" method="get" class="search-form" action="https://romansementsov.ru/">
    <label>
        <span class="screen-reader-text">Search for:</span>
        <input type="search" class="search-field" placeholder="Поиск..." value="" name="s">
    </label>
    <button type="submit" class="search-submit"></button>
</form>    </div>

    

<header id="masthead" class="site-header full" itemscope itemtype="http://schema.org/WPHeader">
    <div class="site-header-inner fixed">

        <div class="humburger js-humburger"><span></span><span></span><span></span></div>

        
<div class="site-branding">

    <div class="site-logotype"><a href="https://romansementsov.ru/"><img src="https://romansementsov.ru/wp-content/uploads/2022/11/cropped-ico-1-2.png" alt="RS"></a></div><div class="site-branding__body"><div class="site-title"><a href="https://romansementsov.ru/">RS</a></div></div></div><!-- .site-branding --><div class="top-menu"><ul id="top-menu" class="menu"><li id="menu-item-5" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5"><a target="_blank" href="https://romansementsov.ru/blog">Блог</a></li>
<li id="menu-item-45910" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45910"><a href="https://romansementsov.ru/category/event/">Конференции</a></li>
<li id="menu-item-35488" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35488"><a rel="nofollow" href="https://romansementsov.ru/smi-about/">СМИ о нас</a></li>
<li id="menu-item-1002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1002"><a target="_blank" rel="nofollow" href="https://romansementsov.ru/contacts">Контакты</a>
<ul class="sub-menu">
	<li id="menu-item-59243" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-59243"><a href="https://romansementsov.ru/magnitnye-buri/">Магнитные бури</a>
	<ul class="sub-menu">
		<li id="menu-item-59244" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-59244"><a href="/магнитные-бури-по-городам/">По городам</a></li>
	</ul>
</li>
	<li id="menu-item-60454" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-60454"><a href="/atmosfernoe-davlenie/">Атмосферное давление</a>
	<ul class="sub-menu">
		<li id="menu-item-60455" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-60455"><a href="/atmosfernoe-davlenie/po-gorodam">По городам</a></li>
	</ul>
</li>
</ul>
</li>
</ul></div>                <div class="header-search">
                    <span class="search-icon js-search-icon"></span>
                </div>
            
    </div>
</header><!-- #masthead -->


    
    <nav id="site-navigation" class="main-navigation full" style="display: none;">
        <div class="main-navigation-inner full">
            <ul id="header_menu"></ul>
        </div>
    </nav>
    <div class="container header-separator"></div>


    <div class="mobile-menu-placeholder js-mobile-menu-placeholder"></div>
    
	
    <div id="content" class="site-content fixed">

        
        <div class="site-content-inner">
    
        
        <div id="primary" class="content-area" itemscope itemtype="http://schema.org/Article">
            <main id="main" class="site-main article-card">

                
<article id="post-30731" class="article-post post-30731 post type-post status-publish format-standard has-post-thumbnail  category-16">

    
        <div class="breadcrumb" id="breadcrumbs"><span><span><a href="https://romansementsov.ru/">Блог</a></span> » <span><a href="https://romansementsov.ru/category/%d0%be%d0%b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/">Обучение</a></span> » <span class="breadcrumb_last" aria-current="page">React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии.</span></span></div>
                                <h1 class="entry-title" itemprop="headline">React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии.</h1>
                    
        
                    <div class="entry-image post-card post-card__thumbnail">
                <img width="483" height="400" src="https://romansementsov.ru/wp-content/uploads/2021/11/2021-11-19_20-35-51-483x400.png" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="" itemprop="image" decoding="async" fetchpriority="high" />                                    <span class="post-card__category"><a href="https://romansementsov.ru/category/%d0%be%d0%b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/" itemprop="articleSection">Обучение</a></span>
                            </div>

        
    
    
    
    <div class="entry-content" itemprop="articleBody">
        <div class="table-of-contents"><div class="table-of-contents__header"><span class="table-of-contents__hide js-table-of-contents-hide">Содержание</span></div><ol class="table-of-contents__list js-table-of-contents-list" style="display:none;">
<li class="level-1"><a rel="nofollow noreferrer noopener" href="#kto-takoy-react-razrabotchik">Кто такой React-разработчик?</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#chto-delayut-react-razrabotchiki-i-chem-zanimayutsya">Что делают React-разработчики и чем занимаются?</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#chto-dolzhen-znat-i-umet-react-razrabotchik">Что должен знать и уметь React-разработчик? </a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#vostrebovannost-i-zarplaty-react-razrabotchikov">Востребованность и зарплаты React-разработчиков</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kak-stat-react-razrabotchikom-i-gde-uchitsya">Как стать React-разработчиком и где учиться?</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#15-luchshih-kursov-dlya-obucheniya-react">15+ лучших курсов для обучения React-разработчика: подробный обзор</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#1-mesto-kurs-react-js-developer-otus">1 место. Курс «React.js Developer» — OTUS</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#2-mesto-kurs-javascript-freymvork-react-js">2 место. Курс «JavaScript-фреймворк React.js» — Skillbox</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#3-mesto-kurs-react-biblioteka-frontend-razrabotki">3 место.Курс «React: библиотека фронтенд-разработки №1» — Нетология</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-js-razrabotka-veb-prilozheniy">Курс «React.js Разработка веб-приложений» — LOFT</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-s-nulya-dlya-nachinayuschih-beonmax">Курс «React с нуля для начинающих» — beONmax</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-uroki-react-js-itproger">Курс «Уроки React JS» — itProger</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-kak-stat-react-razrabotchikom-shkola">Курс «Как стать React-разработчиком» — Школа анализа данных</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-v-veb-razrabotke-skill-branch">Курс «React в веб-разработке» — skill-branch</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-razrabotka-slozhnyh-klientskih">Курс «React. Разработка сложных клиентских приложений» — Интерактивные обучающие технологии</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-learn-javascript">Курс «React» — Learn.JavaScript</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-javascript-uroven-6-react-i-jsx-tsentr">Курс «JavaScript. Уровень 6. React и JSX» — Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-dmitriy-lavrik">Курс «React» — Дмитрий Лаврик</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-js-react-hekslet">Курс «JS: React» — Хекслет</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-0-14-bazovyy-itvdn">Курс «React 0.14 Базовый» — ITVDN</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-akademiya-it">Курс «React» — Академия IT</a></li><li class="level-1"><a rel="nofollow noreferrer noopener" href="#kurs-react-001-stackdev">Курс «React 001» — StackDev</a></li></ol></div><div data-elementor-type="wp-post" data-elementor-id="30731" class="elementor elementor-30731">
									<section class="elementor-section elementor-top-section elementor-element elementor-element-21f427f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="21f427f" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6e1b703" data-id="6e1b703" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-4510d10 elementor-widget elementor-widget-text-editor" data-id="4510d10" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.8.0 - 30-10-2022 */
.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}</style>				<h2 id="kto-takoy-react-razrabotchik">Кто такой React-разработчик?</h2><p><span style="font-size: 14pt;">React-разработчик — это программист, который отвечает за внешний вид сайта или приложения и делает так, чтобы все интерактивные элементы работали, как задумано дизайнерами. React-разработчики используют знания в JavaScript, CSS, HTML.</span></p><h2 id="chto-delayut-react-razrabotchiki-i-chem-zanimayutsya">Что делают React-разработчики и чем занимаются?</h2><p><span style="font-size: 14pt;">Обязанности на примере одной из вакансий:</span></p><ul><li><span style="font-size: 14pt;">Участие в проекте в роли front-end разработчика</span></li><li><span style="font-size: 14pt;">Разработка технических решений</span></li><li><span style="font-size: 14pt;">Планирование, оценка и кодирование задач, code-review</span></li><li><span style="font-size: 14pt;">Разработка пользовательского интерфейса прикладных программ (JS)</span></li><li><span style="font-size: 14pt;">Исправление багов</span></li><li><span style="font-size: 14pt;">Взаимодействие с разработчиками и другими командами в формате Agile</span></li></ul><h2 id="chto-dolzhen-znat-i-umet-react-razrabotchik">Что должен знать и уметь React-разработчик? </h2><p><span style="font-size: 14pt;"><strong>Требования к React-разработчикам:</strong></span></p><ul><li><span style="font-size: 14pt;">Создавать приложения с нуля</span></li><li><span style="font-size: 14pt;">Работать с публичными API</span></li><li><span style="font-size: 14pt;">Познакомитесь с Flux, Redux, Mobx</span></li><li><span style="font-size: 14pt;">Профилировать свое приложение</span></li><li><span style="font-size: 14pt;">Тестировать свое приложение</span></li><li><span style="font-size: 14pt;">Создавать SPA и RIA приложения с нуля</span></li></ul><h2 id="vostrebovannost-i-zarplaty-react-razrabotchikov">Востребованность и зарплаты React-разработчиков</h2><p><span style="font-size: 14pt;">На сайте поиска работы в данный момент открыта 6 951 вакансия, с каждым месяцем спрос на React-разработчиков растет.</span></p><p><span style="font-size: 14pt;">Количество вакансий с указанной зарплатой React-разработчика по всей России:</span></p><ul><li><span style="font-size: 14pt;">от 90 000 руб. – 2 200</span></li><li><span style="font-size: 14pt;">от 180 000 руб. – 1 506</span></li><li><span style="font-size: 14pt;">от 275 000 руб. – 648</span></li><li><span style="font-size: 14pt;">от 365 000 руб. – 235</span></li><li><span style="font-size: 14pt;">от 455 000 руб. – 73</span></li></ul><p><span style="font-size: 14pt;">Вакансий с указанным уровнем дохода по Москве:</span></p><ul><li><span style="font-size: 14pt;">от 95 000 руб. – 775</span></li><li><span style="font-size: 14pt;">от 190 000 руб. – 607</span></li><li><span style="font-size: 14pt;">от 290 000 руб. – 299</span></li><li><span style="font-size: 14pt;">от 385 000 руб. – 107</span></li><li><span style="font-size: 14pt;">от 485 000 руб. – 32</span></li></ul><p><span style="font-size: 14pt;">Вакансий с указанным уровнем дохода по Санкт-Петербургу:</span></p><ul><li><span style="font-size: 14pt;">от 100 000 руб. – 376</span></li><li><span style="font-size: 14pt;">от 190 000 руб. – 252</span></li><li><span style="font-size: 14pt;">от 280 000 руб. – 105</span></li><li><span style="font-size: 14pt;">от 370 000 руб. – 35</span></li><li><span style="font-size: 14pt;">от 460 000 руб. – 12</span></li></ul><h2 id="kak-stat-react-razrabotchikom-i-gde-uchitsya">Как стать React-разработчиком и где учиться?</h2><p><span style="font-size: 14pt;">Варианты обучения для React-разработчика с нуля:</span></p><ul><li><span style="font-size: 14pt;"><strong>Самостоятельное обучение</strong> – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;</span></li><li><span style="font-size: 14pt;"><strong>Классическое оффлайн-образование</strong> в ВУЗах, колледжах и университетах. Диплом является преимуществом при устройстве на работу, при этом обучение обычно длится не менее четырех лет, часто дают устаревшие неактуальные знания;</span></li><li><span style="font-size: 14pt;"><strong>Онлайн-обучение. </strong>Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.</span></li></ul><p><span style="font-size: 14pt;">Ниже сделали обзор 15+ лучших онлайн-курсов.</span></p><h2 id="15-luchshih-kursov-dlya-obucheniya-react">15+ лучших курсов для обучения React-разработчика: подробный обзор</h2>						</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-368ad92 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="368ad92" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c4137ce" data-id="c4137ce" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-bb6983e elementor-widget elementor-widget-text-editor" data-id="bb6983e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="1-mesto-kurs-react-js-developer-otus"><a href='https://romansementsov.ru/link/92774037' target='_blank' rel='nofollow' data-wpel-link='internal'>1 место. Курс «React.js Developer» — OTUS</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://romansementsov.ru/link/92774037' target='_blank' rel='nofollow' data-wpel-link='internal'>https://otus.ru/lessons/react/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-ca07ea0 elementor-widget elementor-widget-image" data-id="ca07ea0" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.8.0 - 30-10-2022 */
.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}</style>									<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2023-02-16_204426252" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTI5MjUsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMTFcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIzLTAyLTE2XzIwNDQyNjI1Mi5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" width="730" height="128" src="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252-1024x179.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252-1024x179.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252-300x52.png 300w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252-768x134.png 768w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252-870x152.png 870w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204426252.png 1212w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="128"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-e9ca166 elementor-widget elementor-widget-text-editor" data-id="e9ca166" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class="elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor" data-id="e8b043f" data-element_type="widget" data-widget_type="text-editor.default"><div class="elementor-widget-container"><div class="elementor-text-editor elementor-clearfix"><div style="text-align: left;"><span style="font-size: 14pt;"><strong><span style="font-family: geometria-regular;">Стоимость: </span></strong><span style="font-family: geometria-regular;">67 000 ₽</span></span></div></div></div></div><div class="elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button" data-id="dc96d3f" data-element_type="widget" data-widget_type="button.default"><div class="elementor-widget-container"><div class="elementor-button-wrapper"><a class="elementor-button-link elementor-button elementor-size-sm" role="button" href="https://romansementsov.ru/link/92774037" target="_blank" rel="nofollow noopener" data-wpel-link="internal"><span class="elementor-button-content-wrapper"><span class="elementor-button-text">Перейти на официальный сайт →</span></span></a></div></div></div>						</div>
				</div>
				<div class="elementor-element elementor-element-6a4348b elementor-widget elementor-widget-text-editor" data-id="6a4348b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>На курсе вы научитесь:</em></strong></p><ul><li>продвинутым возможностям Redux, Redux-Saga, Redux-thunk;</li><li>создавать SPA-приложения и оптимизировать их для production;</li><li>писать чистый и лаконичный код с TypeScript;</li><li>применять интеграционные и юнит-тесты;</li><li>работать в GraphQL, Apollo, Relay.</li></ul><p>Также вы узнаете, как работает под капотом Webpack и Babel, освоите паттерны функционального программирования и научитесь их применять в React.</p><p><strong><em>Для кого этот курс:</em></strong></p><ul><li>JavaScript-разработчиков с навыками HTML/CSS;</li><li>Backend-разработчиков, желающих стать Fullstack;</li><li>начинающих React-разработчиков.</li></ul><p><strong><em>Программа обучения</em></strong></p><p><em>В процессе обучения вы получите комплексные знания и навыки.</em></p><p><strong><em>Модуль 1 &#8212; Preface</em></strong></p><ul><li>Тема 1. Webpack + babel</li><li>Тема Typescript (часть 1)</li><li>Тема 3. Установка и настройка React</li><li>Тема 4. Консультация по проекту</li><li>Тема 5. JSX как основа ReactJS. Functional components</li><li>Тема JSX + CSS</li><li>Тема TDD + React</li><li>Тема 8. CI/CD GitHub actions</li></ul><p><strong><em>Модуль 2 &#8212; React</em></strong></p><ul><li>Тема 9. Typescript (часть 2)</li><li>Тема Components Lifecycle</li><li>Тема Консультация по React testing library</li><li>Тема Списки, события, формы</li><li>Тема 13. Основы функционального программирования</li><li>Тема React patterns часть 1</li><li>Тема React patterns часть 2</li><li>Тема React-hooks</li><li>Тема React hooks advanced</li><li>Тема 18. React router</li></ul><p><strong><em>Модуль 3 &#8212; React + Redux</em></strong></p><ul><li>Тема 19. Основные концепты Redux</li><li>Тема 20. React + redux</li><li>Тема Redux middwares and side effects</li><li>Тема Redux toolkit</li><li>Тема Redux-saga intro</li><li>Тема 24. Redux-saga и интеграционное тестирование</li><li>Тема Redux-saga basic concepts</li><li>Тема Архитектура React-приложения</li><li>Тема 27. Redux-saga advanced concept</li></ul><p><strong><em>Модуль 4 &#8212; Процесс разработки приложения, HTTP, WebSockets, GraphQL</em></strong></p><ul><li>Тема 28. Процесс разработки React-приложения</li><li>Тема 29. Продвинутая конфигурация приложения</li><li>Тема 30. Test quality tools</li><li>Тема HTTP and REST API</li><li>Тема Потоки событий и WebSockets. WebWorkers и comlink для отложенной работы.</li><li>Тема 33. Обзор GraphQL</li></ul><p><strong><em>Модуль 4 &#8212; Процесс разработки приложения, HTTP, WebSockets, GraphQL</em></strong></p><ul><li>Тема 28. Процесс разработки React-приложения</li><li>Тема 29. Продвинутая конфигурация приложения</li><li>Тема 30. Test quality tools</li><li>Тема HTTP and REST API</li><li>Тема Потоки событий и WebSockets. WebWorkers и comlink для отложенной работы.</li><li>Тема 33. Обзор GraphQL</li></ul><p><strong><em>Выпускной проект</em></strong></p><p><em>В течении всего курса вы будете работать над проектом.</em></p><p>Будет предложено несколько вариантов на выбор:</p><ol><li>Разработка проекта, связанного с браузерной визуализацией. Аналог &#171;conway&#8217;s game of life&#187;.</li><li>Контроль расходов:</li></ol><p>— регистрация чеков, сумм и дат;<br />— список чеков и квитанций;<br />— возможность строить графики со статистикой (в этом году/в прошлом году);<br />— хранение данных.</p><p><strong><em>Выпускной работой</em></strong> студента станет доведение приложения, разрабатываемого на протяжении всего курса, до готовности к production.</p><p><strong><em>После обучения вы:</em></strong></p><ul><li>заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на github и другие дополнительные материалы;</li><li>получите сертификат о прохождении курса;</li><li>приобретете опыт Frontend-разработки на React;</li><li>получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).</li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-c09fcce greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="c09fcce" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://romansementsov.ru/link/92774037" target="_blank" rel="nofollow" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-beca5e2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="beca5e2" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-445e5ea" data-id="445e5ea" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-245423b elementor-widget elementor-widget-text-editor" data-id="245423b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="2-mesto-kurs-javascript-freymvork-react-js"><a href='https://romansementsov.ru/link/6226451' target='_blank' rel='nofollow' data-wpel-link='internal'>2 место. Курс «JavaScript-фреймворк React.js» — Skillbox</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://romansementsov.ru/link/6226451' target='_blank' rel='nofollow' data-wpel-link='internal'>https://skillbox.ru/course/react-js/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-aa2ec79 elementor-widget elementor-widget-image" data-id="aa2ec79" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_170754" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODAsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MDc1NC5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" width="730" height="215" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754-1024x301.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754-1024x301.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754-300x88.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754-768x226.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754-870x256.png 870w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170754.png 1162w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="215"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-da5fe0a elementor-widget elementor-widget-text-editor" data-id="da5fe0a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class="elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor" data-id="e8b043f" data-element_type="widget" data-widget_type="text-editor.default"><div class="elementor-widget-container"><div class="elementor-text-editor elementor-clearfix"><div style="text-align: left;"><span style="font-size: 14pt;"><strong><span style="font-family: geometria-regular;">Стоимость: </span></strong><span style="text-align: center;"><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;цену уточняйте на сайте.&quot;}" data-sheets-userformat="{&quot;2&quot;:15297,&quot;3&quot;:{&quot;1&quot;:0},&quot;9&quot;:0,&quot;10&quot;:2,&quot;11&quot;:0,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Calibri, sans-serif&quot;,&quot;16&quot;:11}">цену уточняйте на сайте.</span></span></span></div></div></div></div><div class="elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button" data-id="dc96d3f" data-element_type="widget" data-widget_type="button.default"><div class="elementor-widget-container"><div class="elementor-button-wrapper"><a class="elementor-button-link elementor-button elementor-size-sm" role="button" href="https://romansementsov.ru/link/6226451" target="_blank" rel="nofollow noopener" data-wpel-link="internal"><span class="elementor-button-content-wrapper"><span class="elementor-button-text">Перейти на официальный сайт →</span></span></a></div></div></div>						</div>
				</div>
				<div class="elementor-element elementor-element-2d0f66b elementor-widget elementor-widget-text-editor" data-id="2d0f66b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li>Длительность &#8212; 3 месяца</li><li>Онлайн в удобное время</li><li>Обучение на практике</li><li>Доступ к курсу навсегда</li></ul><p><strong><em>Кому подойдёт этот курс:</em></strong></p><ul><li><strong><em>Практикующим JavaScript-разработчикам<br /></em></strong>Вы освоите работу с фреймворком React.js, увеличите круг своих компетенций и задач, которые сможете выполнять на проекте — станете более конкурентоспособным сотрудником.</li><li><strong><em>Frontend-разработчикам<br /></em></strong>js — один из самых популярных фреймворков в мире. Вы научитесь создавать изоморфные приложения на React Redux, типизировать их с помощью Typescript и работать с различными публичными сервисами.</li></ul><p><strong><em>Чему вы научитесь:</em></strong></p><ol><li>Создавать приложения с нуля<br />Конфигурировать их с помощью Webpack или использовать готовые решения.</li><li>Работать с публичными API<br />Узнаете о механизмах OAuth и имплементациях в React.</li><li>Познакомитесь с Flux, Redux, Mobx<br />Узнаете подробности о состоянии приложения и работе с ним.</li><li>Профилировать свое приложение<br />Искать слабые места и оптимизировать их.</li><li>Тестировать свое приложение<br />Познакомитесь с библиотеками Jest и Enzyme.</li><li>Создавать SPA и RIA приложения с нуля<br />Будете применять разные подходы, с SSR или без него, включая деплой в облачный сервис Now.</li></ol><p><strong><em>Программа</em></strong></p><p><em>Вас ждут 3 месяца теории и практики, которые добавят вам реальных знаний в разработке на JavaScript.<br />16 тематических модулей, 76 онлайн-уроков.</em></p><ol><li><strong><em>Введение в React</em></strong></li></ol><ul><li>Что такое React. Основные преимущества</li><li>Основы декларативного подхода</li><li>Возможности React, компоненты, состояние, применения</li><li>Экосистема React, основные библиотеки, из чего обычно состоит React-стек</li></ul><ol start="2"><li><strong><em>Создание проекта</em></strong></li></ol><ul><li>Конфигурация webpack на клиенте</li><li>Конфигурация webpack на сервере</li><li>Подключение к проекту HMR и SSR</li><li>Подключение Typescript</li><li>Подключение CSS modules, Jest, Enzyme</li></ul><ol start="3"><li><strong><em>Typescript</em></strong></li></ol><ul><li>Основы TypeScript. Типы</li><li>Работа с массивами</li><li>Работа с объектами и интерфейсами</li><li>Типизация функций и типы TS</li><li>Generics</li><li>Классы</li><li>Infer, typeof, keyof, Mapped Types</li></ul><ol start="4"><li><strong><em>Компоненты на примере новостной карточки Reddit</em></strong></li></ol><ul><li>Компоненты в React</li><li>Состояния в Class Components</li><li>Состояния в Functional Components</li><li>Создание Layout приложения. Часть 1</li><li>Создание Layout приложения. Часть 2</li><li>Создание компонента новостной карточки</li><li>Жизненный цикл компонента</li></ul><ol start="5"><li><strong><em>Hooks и функциональное программирование</em></strong></li></ol><ul><li>Каррирование и функции высшего порядка</li><li>Hooks в React</li><li>Map и Reduce в React</li><li>Создание компонента dropdown c использованием hooks</li><li>Compose, Pipe и их применение в React</li></ul><ol start="6"><li><strong><em>Компоненты &#8212; продвинутые темы. Введение в тестирование компонентов</em></strong></li></ol><ul><li>Адаптивные и неадаптивные компоненты. Mobile first и desktop first подходы</li><li>Создание Dropdown-меню с использованием state</li><li>Введение в unit-тесты и Jest</li><li>Написание тестов для React компонента. Enzyme vs Snapshots</li><li>Вспомогательные компоненты</li></ul><ol start="7"><li><strong><em>Работа с публичным API на примере Reddit</em></strong></li></ol><ul><li>Как работать с API</li><li>Регистрируем аккаунт разработчика на Reddit</li><li>OAuth2</li><li>Страница авторизации пользователя</li><li>Как структурировать API-запросы в приложении</li></ul><ol start="8"><li><strong><em>React Context</em></strong></li></ol><ul><li>Забираем из API данные пользователя</li><li>Отображаем данные пользователя в компоненте через prop</li><li>Используем React Context для работы с данными</li><li>Обновляем данные через контекст</li></ul><ol start="9"><li><strong><em>Портал и форма</em></strong></li></ol><ul><li>Верстаем карточку поста, используя ReactPortal</li><li>Ref и useRef React hook. Реализуем механизм click outside для скрытия модального окна</li><li>Controlled и uncontrolled компоненты на примере поля комментария</li><li>Сохраняем состояние формы, используя контекст</li></ul><ol start="10"><li><strong><em>Введение в Redux на примере поля для ввода комментария</em></strong></li></ol><ul><li>Введение в Redux</li><li>Устанавливаем Redux, подключаем его к приложению</li><li>Action + reducer</li><li>Presentation Components/Container Components</li></ul><ol start="11"><li><strong><em>Использование Redux-Thunk на примере загрузки профиля пользователя</em></strong></li></ol><ul><li>Работа с асинхронными запросами в Redux</li><li>Пишем простой logger middleware</li><li>Подключаем thunk к приложению. Пишем свой первый асинхронный action</li><li>Работа с асинхронным состоянием</li><li>Пишем простой loader</li></ul><ol start="12"><li><strong><em>Формы на примере комментариев и карточки поста</em></strong></li></ol><ul><li>Экскурс в формы. Проблематика форм React</li><li>Состояние полей. Различные подходы</li><li>Какие можно использовать библиотеки и почему они могут мешать</li><li>Сохраняем состояние формы, валидируем поля и выводим ошибки</li><li>Доступности, нативные элементов и возможности работать с формой через табуляцию</li></ul><ol start="13"><li><strong><em>«Бесконечные» списки на примере ленты постов</em></strong></li></ol><ul><li>Работа с запросами к API</li><li>Делаем загрузку ленты постов</li><li>Виды бесконечных скроллов и пагинаций</li><li>Делаем подгрузку ленты постов</li><li>Эффективный рендеринг больших списков</li></ul><ol start="14"><li><strong><em>Сайдбар + роутинг</em></strong></li></ol><ul><li>Создаем сайдбар, используя более продвинутые практики</li><li>Роутинг в SPA и в React</li><li>Подключаем React Router</li><li>Подключаем новостную ленту к роутеру</li><li>Дополнительный функционал роутинга</li></ul><ol start="15"><li><strong><em>SSR + NextJS</em></strong></li></ol><ul><li>Серверный и статический рендеринг. Изоморфные приложения</li><li>Делаем серверный рендеринг, используя express</li><li>NextJS</li><li>Переносим приложение на Next</li><li>Деплой приложения в Zeit</li></ul><ol start="16"><li><strong><em>Бонусный модуль: Mobx.</em></strong></li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-7a0b071 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="7a0b071" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://romansementsov.ru/link/6226451" target="_blank" rel="nofollow" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-76129c3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="76129c3" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4ec31c9" data-id="4ec31c9" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-5436fed elementor-widget elementor-widget-text-editor" data-id="5436fed" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="3-mesto-kurs-react-biblioteka-frontend-razrabotki"><a href='https://romansementsov.ru/link/23243838' target='_blank' rel='nofollow' data-wpel-link='internal'>3 место.Курс «React: библиотека фронтенд-разработки №1» — Нетология</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://romansementsov.ru/link/23243838' target='_blank' rel='nofollow' data-wpel-link='internal'>https://netology.ru/programs/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-420638b elementor-widget elementor-widget-image" data-id="420638b" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2023-02-16_204530275" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTI5MjYsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMTFcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIzLTAyLTE2XzIwNDUzMDI3NS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="245" src="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275-1024x344.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275-1024x344.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275-300x101.png 300w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275-768x258.png 768w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275-870x292.png 870w, https://romansementsov.ru/wp-content/uploads/2021/11/изображение_2023-02-16_204530275.png 1091w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="245"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-fee067d elementor-widget elementor-widget-text-editor" data-id="fee067d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class="elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor" data-id="e8b043f" data-element_type="widget" data-widget_type="text-editor.default"><div class="elementor-widget-container"><div class="elementor-text-editor elementor-clearfix"><div style="text-align: left;"><span style="font-size: 14pt;"><strong><span style="font-family: geometria-regular;">Стоимость: </span></strong><span style="font-family: geometria-regular;">14 700 </span><span style="font-family: geometria-regular;">₽ или рассрочка на 12 месяцев &#8212; 1 225 ₽/мес</span></span></div></div></div></div><div class="elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button" data-id="dc96d3f" data-element_type="widget" data-widget_type="button.default"><div class="elementor-widget-container"><div class="elementor-button-wrapper"><a class="elementor-button-link elementor-button elementor-size-sm" role="button" href="https://romansementsov.ru/link/23243838" target="_blank" rel="nofollow noopener" data-wpel-link="internal"><span class="elementor-button-content-wrapper"><span class="elementor-button-text">Перейти на официальный сайт →</span></span></a></div></div></div>						</div>
				</div>
				<div class="elementor-element elementor-element-59797bc elementor-widget elementor-widget-text-editor" data-id="59797bc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Курс</em></strong> для начинающих разработчиков, которые уже освоили JavaScript и хотят расширить знания, чтобы работать над более сложными и интересными задачами. В процессе обучения вас ждёт практика на реальных проектах, максимально применимая в работе, и индивидуальный фидбэк от преподавателей.</p><p><strong><em>Программа курса</em></strong></p><ol><li><strong><em>Компоненты<br /></em></strong>Библиотека React предоставляет нам возможность эффективной разработки современных фронтенд-приложений. В этом разделе мы ознакомимся с компонентным подходом, позволяющим создавать сложные интерфейсы на основе композиции простых блоков, научимся обрабатывать события и работать с внутренним состоянием компонентов, а также приобретём опыт работы с формами.</li><li><strong><em>Продвинутые техники, одностраничные приложения<br /></em></strong>В этом блоке мы научимся организовывать сложные интерфейсы, используя композицию компонентов, интегрируемся с REST API, глубже изучим работу на основе современных подходов — хуков и Context API, а также научимся организовывать постраничную навигацию с помощью React Router.</li><li><strong><em>Redux — управление состоянием<br /></em></strong>В этом разделе мы познакомимся с одним из ключевых навыков в разработке сложных приложений — управлением глобальным состоянием приложения. Мы начнём с простых инструментов: библиотеки Redux, лежащей в основе всего, и Redux Thunk для организации простых побочных эффектов, а закончим продвинутыми инструментами: Redux Observable и Redux Saga.</li><li><strong><em>GIT — система контроля версий</em></strong></li></ol><p><em>в подарок</em></p><p>За 3 занятия вы научитесь работать с системой Git и с сервисом GitHub, сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио (работодатели часто просят показать примеры вашего кода на GitHub).</p><ol start="5"><li><strong><em>Дипломный проект<br /></em></strong>В рамках дипломного проекта вы создадите и развернёте в интернете полноценный фронтенд для интернет-магазина: с поиском, корзиной, оформлением заказа и постраничной навигацией.</li></ol><p><strong><em>Вашу квалификацию подтвердят документы установленного образца.</em></strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-dc8d80f greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="dc8d80f" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://romansementsov.ru/link/23243838" target="_blank" rel="nofollow" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bdb9783 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bdb9783" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e98c273" data-id="e98c273" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-1fcd7c9 elementor-widget elementor-widget-text-editor" data-id="1fcd7c9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-js-razrabotka-veb-prilozheniy"><a href='https://romansementsov.ru/link/49146378' target='_blank' rel='nofollow' data-wpel-link='internal'>Курс «React.js Разработка веб-приложений» — LOFT</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://romansementsov.ru/link/49146378' target='_blank' rel='nofollow' data-wpel-link='internal'>https://loftschool.com/course/react/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1df739d elementor-widget elementor-widget-image" data-id="1df739d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_170852" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODIsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MDg1Mi5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="188" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852-1024x264.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852-1024x264.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852-300x77.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852-768x198.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852-870x225.png 870w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170852.png 1208w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="188"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-99b6653 elementor-widget elementor-widget-text-editor" data-id="99b6653" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>24 000 ₽ или рассрочка на 12 месяцев &#8212; от 2 000 ₽ / мес</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://romansementsov.ru/link/49146378' target='_blank' rel='nofollow' class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6f5b93d elementor-widget elementor-widget-text-editor" data-id="6f5b93d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Программа обучения:</em></strong></p><p><strong><em>Неделя 1 — Введение в React.js</em></strong></p><p>— Знакомимся с командой курса и одногруппниками.<br />— Изучаем JSX и Virtual DOM в React.<br />— Рассматриваем компонентный подход и способы передачи данных.</p><p><strong><em>Неделя 2 — Паттерны React.js, тестирование</em></strong></p><p>— Изучаем компоненты, элементы и экземпляры класса компонент.<br />— Рассматриваем библиотеку Recompose, паттерны high order components и Render Props.<br />— Разбираемся в преимуществах тестов, изучаем Jest, Enzyme, Snapshots.</p><p><strong><em>Неделя 3 — Redux, роутинг</em></strong></p><p>— Изучаем роутинг: Simple routing, роутинг со Switch, а также вложенный роутинг.<br />— Знакомимся с библиотекой Redux: основные понятия и концепции Store, Actions, Reducers, React-redux.<br />— Рассматривается middleware как способ работы с Sideeffect.</p><p><strong><em>Неделя 4 — Redux-saga</em></strong></p><p>— Изучаем библиотеку Redux-saga. Повторяем generator* functions. Учимся запускать их параллельно.<br />— Разбираем метод Take. Изучаем select, как способ получения данные из Store.<br />— Рассматриваем способы стилизации React приложения. Изучаем библиотеки ClassNames, StyledComponents, BrowserList, MaterialUI.</p><p><strong><em>Неделя 5 — Формы, CI &amp; DI &amp; Client error handling</em></strong></p><p>— Рассматриваем работу с формами с помощью библиотек Formik, Redux Forms, React Final Form.<br />— Рассматриваем методы обеспечения качества production кода. Разбираем такие инструменты как: Husky, TravisCI, HerokuNow.<br />— Изучаем набор полезных библиотек для разработки (Storybook, RamdaJS, Axios).<br />— Рассматриваем TypeScript.</p><p><strong><em>Неделя 6 — Работа над проектом</em></strong></p><p>— Доделываем приложение и отправляем на проверку.</p><p><strong><em>Выпускной проект</em></strong></p><ul><li>Во время первой половины курса мы займемся созданием дизайн системы: изучим React.js с помощью написания компонент от простых до сложных, а вторую половину занятий посвятим созданию приложения Loft-такси с помощью этого набора.</li></ul><p><strong><em>По окончании обучения вы получите сертификат</em></strong>.</p><p> LoftSchool знают и ценят работодатели, поэтому сертификат станет вашим дополнительным плюсом при трудоустройстве в IT-компанию.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-a48330a greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="a48330a" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://romansementsov.ru/link/49146378" target="_blank" rel="nofollow" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5923bff elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5923bff" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-efc3e4e" data-id="efc3e4e" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-8380b26 elementor-widget elementor-widget-text-editor" data-id="8380b26" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-s-nulya-dlya-nachinayuschih-beonmax"><a href='https://beonmax.com/courses/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React с нуля для начинающих» — beONmax</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://beonmax.com/courses/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://beonmax.com/courses/react/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6434021 elementor-widget elementor-widget-image" data-id="6434021" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170921.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_170921" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODMsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MDkyMS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="102" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170921.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170921.png 776w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170921-300x42.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170921-768x107.png 768w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="102"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-60fc7d0 elementor-widget elementor-widget-text-editor" data-id="60fc7d0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>нет информации</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://beonmax.com/courses/react/' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-3803767 elementor-widget elementor-widget-text-editor" data-id="3803767" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Курс позволит освоить</em></strong> React от азов до создания полноценного SPA(single page application)-приложения с роутингом и продвинутым управлением состоянием.</p><p>Создадите 3 полноценных разноплановых проекта, которые можно как добавить себе в портфолио, так и сделать на базе них свои собственные уникальные проекты.</p><p><strong><em>В курсе на практике</em></strong> создадите 3 полноценных разноплановых проекта, которые можно как добавить себе в портфолио, так и сделать на базе них свои собственные уникальные проекты.</p><ul><li>Узнаете все особенности последней версии React 17</li><li>Научитесь работать и с классовыми, и с функциональными компонентами</li><li>Разберётесь, чем отличаются управляемые и неуправляемые компоненты</li><li>Научитесь использовать хуки</li><li>Освоите работу с состоянием и жизненным циклом приложения</li><li>Создадите SPA (single page application) с react-router</li></ul><p><strong><em>Для кого этот курс</em></strong></p><ul><li>Для тех, кто хочет изучить самый популярный frontend фреймворк React JS и подготовить портфолио</li><li>Для тех, кто пробовал сам изучать React, но по какой-либо причине не справился и хочет закрыть пробелы</li><li>Для тех, кто хочет углубиться в веб-разработку и взять лучшее из современных практик</li><li>Для тех, кто застрял на первых шагах профессии и хочет добрать компетенций к резюме</li><li>Для тех, кто хочет получить актуальные навыки и стать более востребованным на рынке веб-разработки</li></ul><p><strong><em>ПЛАН КУРСА:</em></strong></p><p>Программа обучения включает видео уроки по изучению React с нуля для начинающих. Благодаря практическим заданиям и примерам, Вы сможете закрепить полученные знания по использованию React JS на практике.</p><ol><li>ВВЕДЕНИЕ</li><li>REACT С JSX И БЕЗ</li><li>КЛАССОВЫЕ REACT-КОМПОНЕНТЫ</li><li>РАБОТА С ФОРМАМИ В REACT</li><li>ПРОЕКТ &#171;ФИЛЬМЫ&#187;</li><li>ФУНКЦИОНАЛЬНЫЕ REACT-КОМПОНЕНТЫ</li><li>ХУКИ ПОДРОБНО</li><li>ПРОЕКТ &#171;ВИТРИНА&#187;</li><li>ПРОДВИНУТОЕ УПРАВЛЕНИЕ СОСТОЯНИЕМ ПРИЛОЖЕНИЯ</li><li>РОУТИНГ И SPA-ПРИЛОЖЕНИЕ</li><li>ПОДВЕДЕНИЕ ИТОГОВ</li></ol><p>ЗАВЕРШЕНИЕ КУРСА &#8212; ПОЛУЧЕНИЕ СЕРТИФИКАТА.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b8b7fdc greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="b8b7fdc" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://beonmax.com/courses/react/" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-eacaf91 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="eacaf91" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d75f194" data-id="d75f194" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-b3f3cd1 elementor-widget elementor-widget-text-editor" data-id="b3f3cd1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-uroki-react-js-itproger"><a href='https://itproger.com/course/react-js' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «Уроки React JS» — itProger</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://itproger.com/course/react-js' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://itproger.com/course/react-js</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-159f24e elementor-widget elementor-widget-image" data-id="159f24e" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170947.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_170947" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODQsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MDk0Ny5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="211" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170947.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170947.png 787w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170947-300x87.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_170947-768x222.png 768w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="211"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-8317dc4 elementor-widget elementor-widget-text-editor" data-id="8317dc4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>нет информации</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://itproger.com/course/react-js' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1775df0 elementor-widget elementor-widget-text-editor" data-id="1775df0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>В ходе курса вы</em></strong>:</p><ul><li>изучите работу с реактом,</li><li>научитесь прописывать на его основе программы и создадите одно полноценное приложение с красивым пользовательским дизайном.</li></ul><p><strong><em>План курса:</em></strong></p><p>За курс вами будет изучена библиотека React JS, начиная от её установки и заканчивая реализацией небольшого веб проекта.</p><p>Прежде чем приступать к видео курсу вам стоит ознакомиться с языком JavaScript и Node JS, так как именно они являются основными платформами на которых построена библиотека React.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-4054a7a greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="4054a7a" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://itproger.com/course/react-js" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3153b6e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3153b6e" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-05bc50c" data-id="05bc50c" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-a21cfd2 elementor-widget elementor-widget-text-editor" data-id="a21cfd2" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-kak-stat-react-razrabotchikom-shkola"><a href='https://practicum.yandex.ru/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «Как стать React-разработчиком» — Школа анализа данных</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://practicum.yandex.ru/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://practicum.yandex.ru/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b29c4a2 elementor-widget elementor-widget-image" data-id="b29c4a2" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171018" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODUsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTAxOC5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="140" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018-1024x196.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018-1024x196.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018-300x57.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018-768x147.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018-870x166.png 870w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171018.png 1036w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="140"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-cdb6d9b elementor-widget elementor-widget-text-editor" data-id="cdb6d9b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>52 020 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://practicum.yandex.ru/react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4ec1286 elementor-widget elementor-widget-text-editor" data-id="4ec1286" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>На курсе вы</em></strong> за три месяца разберётесь в этом стеке технологий. Вам предстоит изучать теорию в тренажёре, написать своё приложение и по желанию работать в командах над проектными задачами. Курс подойдёт тем, кто умеет верстать и знает основы JavaScript.</p><p><strong><em>Сертификат</em></strong> — официальный документ о дополнительном образовании. Чтобы его получить, нужно сдать проектную работу.</p><p><strong><em>Программа обучения:</em></strong></p><p><strong><em>Бесплатное входное тестирование</em></strong><em><br />Около 2 часов</em></p><ul><li>Вам предстоит решить несколько задач по вёрстке и JavaScript и пройти тест по базовым технологиям. Это позволит понять, подойдёт ли вам курс, и получить рекомендации о том, что повторить перед стартом.</li></ul><p><strong><em>Погружение в React и Redux</em></strong><em><br />4 недели, 80 часов</em></p><ul><li>В этом модуле вы изучите основы и инструментарий React. Научитесь работать с классовыми и функциональными компонентами и попрактикуетесь в их написании. Узнаете, как с помощью хуков привнести мощь классовых компонентов в функциональные. Создадите простую заготовку React-приложения посредством CRA и научитесь выполнять его отладку с применением плагина React DevTools.<br />Узнаете, что такое «состояние» в терминологии современных фреймворков и библиотек. Научитесь работать с одной из самых популярных библиотек для хранения состояния — Redux.</li></ul><p><em>В проектной работе:</em></p><p>Вы сверстаете первый экран в приложении, подключите к нему Redux-хранилище и реализуете перетаскивание ингредиентов с помощью React DnD.</p><p><strong><em>Роутинг, безопасность и TypeScript<br /></em></strong><em>4 недели, +1 неделя каникул, 80 часов</em></p><ul><li>Вы узнаете, как настраивать роутинг в SPA-приложении и создавать динамические маршруты. Научитесь работать с основными хуками в React Router. После этого изучите процессы аутентификации и авторизации пользователей — это поможет сделать так, чтобы доступ к определённым действиям и страницам приложения был только у авторизованных пользователей. <br />Затем погрузитесь в основы TypeScript и научитесь использовать его в React-приложениях.</li></ul><p><em>В проектной работе:</em></p><p>Создадите новые страницы в приложении и настроите роутинг. Добавите регистрацию и авторизацию в приложение и защитите маршруты от неавторизованных пользователей. Перепишите код на TypeScript.</p><p><strong><em>Протокол WebSocket и деплой приложения</em></strong></p><p><em>4 недели, +1 проект в портфолио, 70 часов</em></p><ul><li>Вы завершите изучение TypeScript типизацией Redux. После этого реализуете соединение с сервером в режиме реального времени с использованием протокола WebSocket.<br />Познакомитесь с подходами к тестированию и узнаете больше об автоматизированном тестировании приложения. А также научитесь деплоить готовое приложение.</li></ul><p><em>В проектной работе:</em></p><p>Создадите ленту заказов с использованием WebSocket и перепишите всё хранилище на TypeScript. Добавите к приложению тесты на Cypress и Jest, а после загрузите проект на удалённый сервер.</p><p><strong><em>Карьерный трек (опционально)</em></strong></p><p><em>От 40 часов</em></p><ul><li>Параллельно с основной программой мы помогаем с поиском первой работы или сменой текущей: продумываем стратегию и сопровождаем в процессе. Вместе c опытными IT-рекрутерами вы поработаете над резюме и оформите портфолио на GitHub.</li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-45aceb8 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="45aceb8" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://practicum.yandex.ru/react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-09231ee elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="09231ee" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c481f98" data-id="c481f98" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-94afdcb elementor-widget elementor-widget-text-editor" data-id="94afdcb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-v-veb-razrabotke-skill-branch"><a href='https://skill-branch.ru/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React в веб-разработке» — skill-branch</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://skill-branch.ru/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://skill-branch.ru/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-697efe7 elementor-widget elementor-widget-image" data-id="697efe7" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171145" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3ODcsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTE0NS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="217" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145-1024x304.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145-1024x304.png 1024w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145-300x89.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145-768x228.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145-870x258.png 870w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171145.png 1259w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="217"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-6ca9212 elementor-widget elementor-widget-text-editor" data-id="6ca9212" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>44 000 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://skill-branch.ru/react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e69b9fc elementor-widget elementor-widget-text-editor" data-id="e69b9fc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>На курсе</em></strong> вы разработаете 3 веб-приложения, освоите React и познакомитесь с его экосистемой – напишете первые тесты для ваших веб-приложений, а также создадите UI-библиотеку. Помимо технических навыков, получите soft-скиллы – опыт работы в команде и рекомендации по успешному прохождению собеседования.</p><p><strong><em>Программа курса</em></strong></p><ol><li><strong><em>Введение<br /></em></strong>Разберём, как проходит процесс обучения, кому подойдет этот курс и какие инструменты будут изучаться.</li><li><strong><em>Сложные концепции в JS<br /></em></strong>Углубимся в изучение JS. Рассмотрим продвинутые концепции, которые будут встречаться в дальнейшем и без понимания которых будет сложно перейти к изучению React.</li></ol><ul><li>Деструктуризация</li><li>Обработка ошибок</li><li>Асинхронность</li><li>Реактивность</li><li>Регулярные выражения</li><li>Новые возможности</li><li>ФП в JS</li><li>ООП в JS</li><li>Прототип Pomadoro &#8212; приложения для личной продуктивности.</li></ul><ol start="3"><li><strong><em>Подготовка рабочего места<br /></em></strong>Подготовим рабочее место для того, чтобы писать грамотный и красивый код стало проще и удобнее. Научимся пользоваться консолью.</li></ol><ul><li>Установка VSCode</li><li>Установка NPM</li><li>Работа с консолью</li><li>Eslint</li><li>Prettier</li><li>Husky</li><li>Добавляем возможность настраивать Pomadoro под себя. Автоматизируем таймер. Исправляем баги.</li></ul><ol start="4"><li><strong><em>React<br /></em></strong>Разберем базовые функции и основные концепции React. Поймем, что отличает функциональный подход от компонентного. Создадим первую форму на React.</li></ol><ul><li>Cтарый React</li><li>Новый React</li><li>JSX</li><li>React + CSS</li><li>Основные принципы</li><li>Модульность</li><li>Создаем прототип экрана регистрации/логина.</li></ul><ol start="5"><li><strong><em>Redux<br /></em></strong>Узнаем про самую популярную библиотеку для React, разберем её концепции. Проанализируем плюсы и минусы данного подхода. Рассмотрим основные функции и совместим React и Redux.</li></ol><ul><li>Плюсы</li><li>Минусы</li><li>Аналоги</li><li>Основные сущности &#8212; store, type, action и reducer.</li><li>Middleware</li><li>Мутации</li><li>Делаем To-Do лист. Выводим список из Redux.</li></ul><ol start="6"><li><strong><em>Продвинутая работа с React, React Thunk<br /></em></strong>Разберем более продвинутые концепции в React. Узнаем, как искать и исправлять баги в React. Напишем асинхронный код. Научимся создавать правильную форму входа и рассмотрим виды запросов.</li></ol><ul><li>React изнутри</li><li>Продвинутые хуки</li><li>Кастомные хуки</li><li>Лучшие практики</li><li>Отладка кода</li><li>Redux Thunk</li><li>Работа с бэкендом</li><li>Дорабатываем форму входа. Создаем список всех зарегистрированных пользователей. Реализуем фильтрацию.</li></ul><ol start="7"><li><strong><em>Маршрутизация. React Router<br /></em></strong>Разберем более продвинутые концепции в React. Узнаем, как искать и исправлять баги в React. Напишем асинхронный код. Научимся создавать правильную форму входа и рассмотрим виды запросов.</li></ol><ul><li>React изнутри</li><li>Продвинутые хуки</li><li>Кастомные хуки</li><li>Лучшие практики</li><li>Отладка кода</li><li>Redux Thunk</li><li>Работа с бэкендом</li><li>Объединяем все страницы в одно приложение. Создаем личный кабинет пользователя.</li></ul><ol start="8"><li><strong><em>Вспомнить всё!<br /></em></strong>Закрепим изученные технологии. Углубимся в работу с бэкендом и реализуем новую, более сложную, функциональность приложения.</li></ol><ul><li>Рефакторинг приложения. Модальные окна. Продвинутая работа с бэкендом.</li></ul><ol start="9"><li><strong><em>Jest<br /></em></strong>Научимся тестировать код автоматизировано. Разберемся, как тестировать функциональность приложения и как это отличается от тестирования компонентов. Попробуем новый процесс разработки – TDD.</li></ol><ul><li>Зачем нужны тесты?</li><li>TDD</li><li>Виды тестирования</li><li>Пирамида тестирования</li><li>Jest</li><li>Синхронное тестирование</li><li>Асинхронное тестирование</li><li>Snapshot тестирование</li><li>React Testing Library</li><li>Покрываем код тестами. Пробуем TDD.</li></ul><ol start="10"><li><strong><em>Пишем стили правильно. Styled-Components. Storybook.<br /></em></strong>Узнаем, что такое css-in-js. Реализуем темную и светлую тему и переключатель между ними. Разберемся, как совместно с дизайнером разрабатывать хорошие интерфейсы. Создадим библиотеку компонентов в своем приложении.</li></ol><ul><li>Styled-Components</li><li>API</li><li>Создание темы</li><li>Storybook</li><li>API</li><li>Аддоны</li><li>Мигрируем приложение с CSS на styled-components. Создаем библиотеку компонентов в Storybook. Создаем темную тему.</li></ul><ol start="11"><li><strong><em>Архитектура React приложений<br /></em></strong>Подготовка к созданию выпускного проекта. Разберём, как проектировать приложения, разобьемся на команды и выберем темы.</li></ol><ul><li>Зачем нужна архитектура?</li><li>Какие виды существуют?</li><li>Плохая архитектура</li><li>Хорошая архитектура</li><li>Feture Slice</li><li>Atomic</li><li>Flux</li><li>Dumb/Smart</li><li>Собираем команду для итогового приложения. Распределяем задачи. Нулевой спринт.</li><li>Мастер-класс</li></ul><ol start="12"><li><strong><em>Зачем писать код, если есть no-code<br /></em></strong>Узнаем про инструменты, которые могут ускорить и упростить создание приложений. Разберем на реальных кейсах плюсы и минусы такого подхода. Научимся применять no-code решения на практике.</li></ol><ul><li>Что такое no-code и low-code</li><li>Когда стоит использовать</li><li>Когда не стоит использовать</li><li>Удачные примеры</li><li>Netlify</li><li>Первый и второй спринт.</li></ul><ol start="13"><li><strong><em>Как найти работу<br /></em></strong>Рассмотрим виды компаний, разберем плюсы и минусы фриланса, поговорим о том, как составлять резюме и что писать в сопроводительном письме, проанализируем вопросы, которые задают на собеседовании, и научимся отвечать на них грамотно и уверено.</li></ol><ul><li>Третий спринт. Завершение итогового приложения. Подготовка презентации.</li></ul><ol start="14"><li><strong><em>Подводим итоги</em></strong></li></ol><ul><li>Выбираем лучшее приложение</li><li>Составляем роадмап на будущее</li><li>Какие проекты можно ещё написать?</li><li>Точки роста</li></ul><p><strong><em>Проекты курса:</em></strong></p><ul><li>Pomadoro</li><li>LMS</li><li>Хакатон</li></ul><p><strong><em>Ваш сертификат, подтверждающий обучение в Skill-Branch, профессиональные знания и навыки.</em></strong></p><p>Приложите его к CV или резюме, чтобы обойти конкурентов и получить престижную работу!</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b936066 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="b936066" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://skill-branch.ru/react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ba7c79a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ba7c79a" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e1515dd" data-id="e1515dd" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-882405a elementor-widget elementor-widget-text-editor" data-id="882405a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-razrabotka-slozhnyh-klientskih"><a href='https://htmlacademy.ru/intensive/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React. Разработка сложных клиентских приложений» — Интерактивные обучающие технологии</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://htmlacademy.ru/intensive/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://htmlacademy.ru/intensive/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1e1f30e elementor-widget elementor-widget-image" data-id="1e1f30e" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171333.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171333" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTAsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTMzMy5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="694" height="209" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171333.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171333.png 694w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171333-300x90.png 300w" sizes="auto, (max-width: 694px) 100vw, 694px" /><meta itemprop="width" content="694"><meta itemprop="height" content="209"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-d4431c8 elementor-widget elementor-widget-text-editor" data-id="d4431c8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>25 400 ₽ &#8212; 37 400 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://htmlacademy.ru/intensive/react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-f707887 elementor-widget elementor-widget-text-editor" data-id="f707887" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>На этом курсе</em></strong> вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии. И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.</p><p><strong><em>Программа курса</em></strong></p><ul><li><strong><em>Первая неделя</em></strong></li></ul><p>Участие в живых лекциях, работа над проектом с личным наставником.</p><ul><li><strong><em>Вторая неделя</em></strong></li></ul><p>Улучшим знания о React и компонентах. Разберём state, события и методы жизненного цикла компонента. Познакомимся с React Hooks и узнаем, как с их помощью заменить class-компоненты.</p><ul><li><strong><em>Третья неделя</em></strong></li></ul><p>Знакомимся с Flux-архитектурой: действия (Actions), диспетчеры (Dispatcher), представления (Views) и хранилища (Stores). Подключаем к проекту Redux и обновляем кодовую базу.</p><ul><li><strong><em>Четвёртая неделя</em></strong></li></ul><p>Поговорим о производительности React-приложений: какие есть особенности, на что следует обращать внимание при проектировании компонентов в первую очередь.</p><ul><li><strong><em>Пятая неделя</em></strong></li></ul><p>Познакомимся с инструментами и методиками тестирования React-приложений. Настроим инфраструктуру для тестирования, напишем тесты для созданных компонентов.</p><ul><li><strong><em>Шестая неделя</em></strong></li></ul><p>Подготовка проекта к итоговой защите и оценка его проверяющим наставником по критериям качества. Завершение работы над проектом и подготовка к итоговой защите.</p><ul><li><strong><em>Седьмая неделя</em></strong></li></ul><p>Первая оценка проекта проверяющим наставником по критериям качества.</p><ul><li><strong><em>Восьмая неделя</em></strong></li></ul><p>Улучшение проекта по замечаниям проверяющего наставника и подача на вторую оценку.</p><ul><li><strong><em>Девятая неделя</em></strong></li></ul><p>Внесение финальных правок и получение итоговой оценки.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-c25bcfc greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="c25bcfc" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://htmlacademy.ru/intensive/react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c6fc789 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c6fc789" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e6c199e" data-id="e6c199e" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-58c32cf elementor-widget elementor-widget-text-editor" data-id="58c32cf" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-learn-javascript"><a href='https://learn.javascript.ru/courses/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React» — Learn.JavaScript</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://learn.javascript.ru/courses/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://learn.javascript.ru/courses/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-49a6a1e elementor-widget elementor-widget-image" data-id="49a6a1e" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171440.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171440" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTIsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTQ0MC5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="697" height="140" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171440.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171440.png 697w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171440-300x60.png 300w" sizes="auto, (max-width: 697px) 100vw, 697px" /><meta itemprop="width" content="697"><meta itemprop="height" content="140"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-3326a84 elementor-widget elementor-widget-text-editor" data-id="3326a84" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>19 000 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://learn.javascript.ru/courses/react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-62e7fe3 elementor-widget elementor-widget-text-editor" data-id="62e7fe3" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Курс состоит из 4-х блоков:</em></strong></p><ol><li>Знакомство с React, и его экосистемой.</li><li>Построение приложений с React: Redux.js.</li><li>React для SPA: react-router и продвинутые API Реакта.</li><li>Куда развиваться дальше.</li></ol><p><strong><em>Программа курса:</em></strong></p><p><strong><em>Блок 1 &#8212; Знакомство с React и его экосистемой.<br /></em></strong>В этом блоке мы начнем с того, на чем остановились в скринкасте по Реакт. Научимся писать простые компоненты и узнаем, в чем принципиальное отличие React.js от других популярных фреймворков. Создадим первые компоненты, используя декларативный подход, познакомимся с экосистемой, научимся использовать сторонние компоненты и работать с формами.</p><ul><li>Разбираем как работает create-react-app.</li><li>Глубже знакомимся с Реактом, Virtual DOM, JSX.</li><li>Разбираем React Hooks, их отличия от стейта и lifecycle методов.</li><li>Разберем примеры тестирования компонент с помощью Jest и Enzyme.</li><li>Подключаем стили с css modules.</li><li>Учимся переиспользовать код с помощью наследования, декораторов и кастомных хуков.</li><li>Связь с DOM: keys &amp; refs.</li><li>Подключаем сторонние компоненты.</li></ul><p><strong><em>Блок 2 &#8212; Построение приложений с React: Redux.js<br /></em></strong>Когда приложения становятся сложнее и в них появляется интерактивность, приходиться задумываться про организацию бизнес-логики, настраивать потоки данных и взаимодействие с сервером. В процессе построения простого новостного приложения мы детально разберем самую популярную библиотеку для одностороннего потока данных, узнаем ее особенности и научимся использовать дев-тулзы.</p><ul><li>Особенности Redux.js: функциональный подход, Redux dev tools.</li><li>Store как иммутабельный объект: Redux + Immutable.js.</li><li>Настраиваем синхронный поток с Redux, переиспользуем созданные ранее компоненты.</li><li>React-redux для связи компонентов с логикой.</li><li>Мемоизированные селекторы reselect.</li><li>Side-effects в Redux: создание и использование Middlewares.</li><li>Получение данных от сервера.</li><li>Асинхронные экшены с redux-thunk</li></ul><p><strong><em>Блок 3 &#8212; React для SPA: react-router и продвинутые API Реакта<br /></em></strong>Разработка single-page applications – одно из основных направлений фронтэнда. Мы разберем, как строить их, используя React. Научимся использовать react-router и продвинутые элементы API React.JS.</p><ul><li>Зачем нужен роутинг и как он устроен, проектируем структуру приложения.</li><li>Разбираем react-router v5.</li><li>Настраиваем вложенные роуты.</li><li>Выбираем и настаиваем history для нашего приложения.</li><li>Объединяем react-router и</li><li>Учимся обрабатывать серверные ошибки и декларативно управлять роутером.</li><li>Используем context – еще один механизм передачи данных.</li><li>Обзор Advanced API react-router.</li><li>Используем props.children для композиции компонентов.</li><li>Анимации в React, CSSTransitionGroup.</li></ul><p><strong><em>Блок 4 &#8212; Куда развиваться дальше<br /></em></strong>На этот момент вы уже знаете все, что необходимо, для разработки React приложений. Но на этом рано останавливаться, вокруг Реакта выросла огромная экосистема. Мы обзорно пройдемся по основным возможностям для развития, разным платформам, библиотекам и вспомогательным инструментам. + Будет возможность разобрать интересующие именно вас вопросы.</p><ul><li>Работа с формами: redux-form, final-form, formik.</li><li>Что ждать от React 17.</li><li>React Native и React VR.</li><li>GraphQL + Relay/Apollo.</li><li>MobX vs Redux.</li><li>Разные подходы к сайд-эффектам: redux-thunk, redux-loop, redux-saga, redux-observable.</li></ul><p><strong><em>Курсовой проект</em></strong></p><ul><li>Сервис выбора ресторана и заказа еды.</li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-eba1857 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="eba1857" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://learn.javascript.ru/courses/react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-fd83dfc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="fd83dfc" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c5d53e3" data-id="c5d53e3" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-253b343 elementor-widget elementor-widget-text-editor" data-id="253b343" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-javascript-uroven-6-react-i-jsx-tsentr"><a href='https://www.specialist.ru/course/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «JavaScript. Уровень 6. React и JSX» — Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://www.specialist.ru/course/react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://www.specialist.ru/course/react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1321e5e elementor-widget elementor-widget-image" data-id="1321e5e" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171552.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171552" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTQsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTU1Mi5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="77" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171552.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171552.png 755w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171552-300x32.png 300w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="77"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-be8bd51 elementor-widget elementor-widget-text-editor" data-id="be8bd51" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>13 000 ₽ &#8212; 16 990 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://www.specialist.ru/course/react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-510c5ff elementor-widget elementor-widget-text-editor" data-id="510c5ff" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Вы научитесь:</em></strong></p><ul><li>cоздавать компоненты на основе ReactJS;</li><li>настраивать жизненный цикл компонентов;</li><li>отрисовывать форму по условию;</li><li>обрабатывать события и управлять всплытием состояний.</li></ul><p><strong><em>Программа курса:</em></strong></p><p><strong><em>Модуль 1. Введение в React и JSX (4 ак. ч.)</em></strong></p><ul><li>Что такое React?</li><li>Какие задачи решает React?</li><li>Установка библиотеки ES6 и JSX</li><li>Встраиваемые выражения</li><li>Определение атрибутов в JSX</li><li>Указание дочерних элементов</li><li>React-элементы</li><li>Отрисовка элементов</li><li>Обновление элементов</li></ul><p><strong><em>Модуль 2. React-компоненты, состояния и жизненный цикл (4 ак. ч.)</em></strong></p><ul><li>Функциональные и классовые компоненты</li><li>Отрисовка компонентов React</li><li>Композиция элементов</li><li>Извлечение компонентов</li><li>Понятие состояния</li><li>Преобразование функции в класс</li><li>Локальное состояние класса</li><li>Методы жизненного цикла</li><li>Рекомендации по работе с состояниями</li><li>Нисходящие потоки данных</li></ul><p><strong><em>Модуль 3. Условная отрисовка. Формы (4 ак. ч.)</em></strong></p><ul><li>Отрисовка с условием</li><li>Предотвращение отрисовки компонента</li><li>Отрисовка нескольких компонентов</li><li>Основной компонент списка</li><li>Ключи</li><li>Извлечение компонентов с ключами</li><li>Размещение map() в JSX</li><li>Контролируемые компоненты</li><li>Теги</li><li>Альтернатива контролируемым компонентам</li></ul><p><strong><em>Модуль 4. Всплытие состояний (4 ак. ч.)</em></strong></p><ul><li>Всплытие состояний.</li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-6dd7df0 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="6dd7df0" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://www.specialist.ru/course/react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2960b79 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2960b79" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d86e9c5" data-id="d86e9c5" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-a81996b elementor-widget elementor-widget-text-editor" data-id="a81996b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-dmitriy-lavrik"><a href='https://js.dmitrylavrik.ru/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React» — Дмитрий Лаврик</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://js.dmitrylavrik.ru/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://js.dmitrylavrik.ru/react/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-c737716 elementor-widget elementor-widget-image" data-id="c737716" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171715" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTYsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTcxNS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="310" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715.png 904w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715-300x127.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715-768x326.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171715-870x370.png 870w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="310"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-2abf268 elementor-widget elementor-widget-text-editor" data-id="2abf268" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>9 800 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://js.dmitrylavrik.ru/react/' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-c536fa5 elementor-widget elementor-widget-text-editor" data-id="c536fa5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Цель курса:</em></strong></p><p>Изучить философию и дух компонентного подхода современных javascript-фреймворков, научиться использовать React для решения практических задач.</p><p>Для новичков React сложнее, чем Vue.js. Но вакансий и заказов на фрилансе на нём больше.</p><p><strong><em>Программа курса</em></strong></p><ol><li>Простая сборка с webpack</li><li>Основы компонентного подхода</li><li>Понимание JSX</li><li>Функциональные компоненты vs классы</li><li>Классический React vs функции + хуки</li><li>Изменение состояния и иммутабельность</li><li>JSX и ветвления при рендеринге</li><li>Рендеринг элементов в цикле</li><li>Нюансы атрибута key</li><li>Понимание основных хуков</li><li>useState, useEffect, useRef</li><li>Создание своих хуков</li><li>Взаимодействие между компонентами</li><li>Однонаправленный поток данных</li><li>Обработка событий</li><li>Модульный CSS vs CSS in JS</li><li>Работа с формами</li><li>Children &#8212; передача контента в компонент</li><li>Проблемы большой иерархии компонентов</li><li>Идеи хука useContext</li><li>Идеи единого склада данных</li><li>Состояние и хук useReducer</li><li>Управление состоянием приложения</li><li>Централизованный склад данных</li><li>Понимание flux-архитектуры</li><li>Redux, который бесит новичков</li><li>Основы работы с Mobx</li><li>Организация работы с Mobx</li><li>Модули и rootStore</li><li>Основы React Router</li><li>Api History</li><li>Создание небольшого SPA</li><li>Общение с серверным API</li><li>Fetch и промисы</li><li>Обработка ошибок</li><li>Подключение полифилов</li><li>Построение архитектуры приложения</li><li>Доработка SPA</li><li>Применение изученных тем</li><li>Сборка в production</li><li>Перенос SPA на сервер</li><li>План дальнейшего развития.</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-e017521 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="e017521" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://js.dmitrylavrik.ru/react/" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-206c5f5 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="206c5f5" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2c22113" data-id="2c22113" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-5ee562a elementor-widget elementor-widget-text-editor" data-id="5ee562a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-js-react-hekslet"><a href='https://ru.hexlet.io/courses/js-react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «JS: React» — Хекслет</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://ru.hexlet.io/courses/js-react' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://ru.hexlet.io/courses/js-react</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0c71d4f elementor-widget elementor-widget-image" data-id="0c71d4f" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171843.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171843" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTgsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTg0My5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="581" height="96" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171843.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171843.png 581w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171843-300x50.png 300w" sizes="auto, (max-width: 581px) 100vw, 581px" /><meta itemprop="width" content="581"><meta itemprop="height" content="96"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-c1fad52 elementor-widget elementor-widget-text-editor" data-id="c1fad52" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>3 900 ₽ в месяц</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://ru.hexlet.io/courses/js-react' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d1f0a23 elementor-widget elementor-widget-text-editor" data-id="d1f0a23" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Чему вы научитесь:</em></strong></p><ol><li>Создавать полноценные приложения на React</li><li>Грамотно организовывать состояние приложения</li><li>Взаимодействовать с бекендом по API</li><li>Интегрировать React со сторонними библиотеками.</li></ol><p><strong><em>Уроки курса:</em></strong></p><p><em>Продолжительность 24 часа </em></p><ol><li><strong><em>Введение<br /></em></strong>Познакомиться с курсом и подготовить окружение.</li><li><strong><em>Компоненты<br /></em></strong>Познакомиться с базовой единицей в react — компонентом. Научиться его создавать и отрисовывать в браузере.</li><li><strong><em>JSX<br /></em></strong>Научиться эффективно использовать jsx.</li><li><strong><em>Props<br /></em></strong>Познакомиться с механизмом передачи данных в компоненты.</li><li><strong><em>Работа с коллекциями<br /></em></strong>Научиться обрабатывать коллекции данных внутри компонентов.</li><li><strong><em>Различия jsx и html<br /></em></strong>Узнать об особенностях jsx, которые работают не так как в html.</li><li><strong><em>Обработка имён классов<br /></em></strong>Научиться правильно работать с классами компонентов, которые могут изменяться динамически.</li><li><strong><em>Children<br /></em></strong>Научиться создавать компоненты боксы, способные работать с вложенными компонентами.</li><li><strong><em>Состояние<br /></em></strong>Познакомиться с созданием stateful компонентов. Научиться добавлять интерактивности.</li><li><strong><em>События<br /></em></strong>Познакомиться с особенностями системы событий React.</li><li><strong><em>Автоматное программирование<br /></em></strong>Вспомнить что все вокруг автоматы. Научиться правильно работать с автоматами в React.</li><li><strong><em>Формы<br /></em></strong>Изучить принципы взаимодействия с формами.</li><li><strong><em>Неизменяемость<br /></em></strong>Научиться работать с составными структурами в неизменяемом стиле. Познакомиться с библиотекой `immutability-helper`.</li><li><strong><em>Вложенные компоненты<br /></em></strong>Разобраться с хранением состояния и управлением событиями во вложенных компонентах.</li><li><strong><em>Функциональные компоненты<br /></em></strong>Рассмотреть создание компонентов на основе функций и использования пространств имён.</li><li><strong><em>Virtual Dom<br /></em></strong>Познакомиться с устройством React.</li><li><strong><em>Тестирование<br /></em></strong>Узнать о проблемах, которые поджидают разработчика при работе с исходным кодом.</li><li><strong><em>Асинхронная обработка<br /></em></strong>Узнать об особенностях работы с объектом событием в асинхронном коде. Попрактиковаться в создании асинхронных обработчиков.</li><li><strong><em>Жизненный цикл компонента<br /></em></strong>Познакомиться с жизненным циклом компонента в процессе работы.</li><li><strong><em>Производительность<br /></em></strong>Научиться выжимать из React максимальную производительность.</li><li><strong><em>Refs<br /></em></strong>Научиться взаимодействовать с реальным DOM для интеграции сторонних компонентов.</li><li><strong><em>Дополнительные материалы<br /></em></strong>Помогают глубже и всесторонне рассмотреть тему курса в открытых статьях и видео подобранных командой Хекслета.</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-d9baef9 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="d9baef9" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://ru.hexlet.io/courses/js-react" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-53264a5 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="53264a5" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c7dbfca" data-id="c7dbfca" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-ed9f26f elementor-widget elementor-widget-text-editor" data-id="ed9f26f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-0-14-bazovyy-itvdn"><a href='https://itvdn.com/ru/video/react-js-essential' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React 0.14 Базовый» — ITVDN</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://itvdn.com/ru/video/react-js-essential' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://itvdn.com/ru/video/react-js-essential</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-82d27d5 elementor-widget elementor-widget-image" data-id="82d27d5" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171919.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171919" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM3OTksInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTkxOS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="436" height="81" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171919.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171919.png 436w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171919-300x56.png 300w" sizes="auto, (max-width: 436px) 100vw, 436px" /><meta itemprop="width" content="436"><meta itemprop="height" content="81"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-3a5e42a elementor-widget elementor-widget-text-editor" data-id="3a5e42a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>750 ₽</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://itvdn.com/ru/video/react-js-essential' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-75221b9 elementor-widget elementor-widget-text-editor" data-id="75221b9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><em>Чему вы научитесь с помощью данного видео курса:</em></strong></p><ul><li>Работать с платформой React и создавать несложные веб-приложения</li><li>Работать с компонентами и окружением React</li><li>Использовать маршрутизацию и ES2015</li><li>Разбираться в архитектуре Flux, работать с API</li><li>Создавать полноценное SPA (одностраничное приложение)</li><li>Совершать хостинг разработанного веб-приложения.</li></ul><p><strong><em>Основные темы:</em></strong></p><ol><li>План курса</li><li>Что такое React?</li><li>DOM-дерево</li><li>Как скачать библиотеку React</li><li>Как подключить библиотеку React</li><li>JSX</li><li>Как поместить компонент в DOM-дерево</li><li>Параметры компонетов</li><li>Компонеты в React</li><li>Написание списка контактов на React</li><li>События в React</li><li>Подведение итогов.</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-adfd8fc greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="adfd8fc" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://itvdn.com/ru/video/react-js-essential" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-aaaef52 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="aaaef52" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-93a3f68" data-id="93a3f68" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-ecb127a elementor-widget elementor-widget-text-editor" data-id="ecb127a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-akademiya-it"><a href='https://academiait.ru/course/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React» — Академия IT</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://academiait.ru/course/react/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://academiait.ru/course/react/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b598919 elementor-widget elementor-widget-image" data-id="b598919" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171955.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_171955" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM4MDAsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MTk1NS5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="703" height="372" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171955.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171955.png 703w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_171955-300x159.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /><meta itemprop="width" content="703"><meta itemprop="height" content="372"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-289f6ee elementor-widget elementor-widget-text-editor" data-id="289f6ee" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>бесплатно</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://academiait.ru/course/react/' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-cdc568a elementor-widget elementor-widget-text-editor" data-id="cdc568a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Пройдя данный курс, вы сделаете первый шаг к серьезному обучению и сможете чётко определиться с направлением ваших интересов.</p><p><strong><em>Уроки:</em></strong></p><ol><li>Введение</li><li>Настройка окружения</li><li>Компоненты и элементы</li><li>Свойства компонентов</li><li>Условный рендеринг</li><li>Состояние компонентов</li><li>Жизненные циклы компонентов</li><li>Списки и ключи</li><li>Формы</li><li>Контекст</li><li>Компоненты высшего порядка</li><li>Redux.</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-082a83d greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="082a83d" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://academiait.ru/course/react/" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-dda7bba elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="dda7bba" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0ddc878" data-id="0ddc878" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-e91da07 elementor-widget elementor-widget-text-editor" data-id="e91da07" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-14d3a9c elementor-widget elementor-widget-heading' data-id='14d3a9c' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><h2 class='elementor-heading-title elementor-size-default' id="kurs-react-001-stackdev"><a href='https://react001.ru/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>Курс «React 001» — StackDev</a></h2></div></div><div class='elementor-element elementor-element-d8b0d81 elementor-widget elementor-widget-heading' data-id='d8b0d81' data-element_type='widget' data-widget_type='heading.default'><div class='elementor-widget-container'><span class='elementor-heading-title elementor-size-default'><a href='https://react001.ru/' target='_blank' rel="nofollow noreferrer noopener" data-wpel-link='internal'>https://react001.ru/</a></span></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4778714 elementor-widget elementor-widget-image" data-id="4778714" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
											<a href="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037.png" data-elementor-open-lightbox="yes" data-elementor-lightbox-title="изображение_2021-09-06_172037" e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM4MDEsInVybCI6Imh0dHBzOlwvXC9yb21hbnNlbWVudHNvdi5ydVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDlcL1x1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNV8yMDIxLTA5LTA2XzE3MjAzNy5wbmcifQ%3D%3D">
							<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" width="730" height="134" src="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037.png" class="attachment-large size-large" alt="" srcset="https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037.png 980w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037-300x55.png 300w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037-768x141.png 768w, https://romansementsov.ru/wp-content/uploads/2021/09/изображение_2021-09-06_172037-870x160.png 870w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="134"></span>								</a>
											<figcaption class="widget-image-caption wp-caption-text"></figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-220fdd1 elementor-widget elementor-widget-text-editor" data-id="220fdd1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<div class='elementor-element elementor-element-e8b043f elementor-widget elementor-widget-text-editor' data-id='e8b043f' data-element_type='widget' data-widget_type='text-editor.default'><div class='elementor-widget-container'><div class='elementor-text-editor elementor-clearfix'><div style='text-align: left;'><span style='font-size: 14pt;'><strong><span style='font-family: geometria-regular;'>Стоимость: </span></strong><span style='text-align: center;'>бесплатно</span></span></div></div></div></div><div class='elementor-element elementor-element-dc96d3f bluebutton elementor-align-left elementor-widget elementor-widget-button' data-id='dc96d3f' data-element_type='widget' data-widget_type='button.default'><div class='elementor-widget-container'><div class='elementor-button-wrapper'><a href='https://react001.ru/' target='_blank' rel="nofollow noreferrer noopener" class='elementor-button-link elementor-button elementor-size-sm' role='button' data-wpel-link='internal'><span class='elementor-button-content-wrapper'><span class='elementor-button-text'>Перейти на официальный сайт →</span></span></a></div></div></div>
						</div>
				</div>
				<div class="elementor-element elementor-element-aef3a19 elementor-widget elementor-widget-text-editor" data-id="aef3a19" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>В рамках курса по изучению библиотеки React JS, мы создадим приложение для заказа бургеров в сети ресторанов Hot Burgers! С помощью приложения можно будет в реальном времени управлять стоимостью и ассортиментом меню.</p><p>Приложение будет включать компоненты меню, форму заказа и панель администратора. Наши данные будут храниться в базе данных Google Firebase и обновляться в режиме реального времени! Система авторизации позволит регулировать доступ к системе управления меню.</p><p><strong><em>Курс состоит из 29 видео-уроков:</em></strong></p><ol><li>Настраиваем Инструменты</li><li>Компоненты React</li><li>Создаем первый компонент Landing</li><li>JSX в React</li><li>Добавляем CSS в React</li><li>Объект State, обработчики событий и значение this</li><li>Пишем логику обновления объекта State</li><li>Головной компонент App и структура приложения</li><li>Объект Props в React</li><li>Функциональные компоненты React</li><li>Настраиваем React Router</li><li>Push State в компоненте Landing</li><li>Объект State в компоненте App</li><li>Загружаем бургеры в меню</li><li>Отображаем бургеры из объекта State</li><li>Объект State в компоненте Order</li><li>Отображаем компонент Order</li><li>Пишем компонент Shipment</li><li>Интеграция с Google Firebase</li><li>Cохраняем данные о заказе в Local Storage</li><li>Редактирование свойств бургера</li><li>Удаление бургера из меню</li><li>Создание анимации</li><li>Прописываем Prop Types</li><li>React Хук useState</li><li>Авторизация с Google Firebase</li><li>Сборка готового приложения</li><li>Размещение на хостинге Now</li><li>Размещение на хостинге Netlify.</li></ol><p><strong><em>Чему Вы научитесь:</em></strong></p><ul><li>Создавать приложение на React.JS с нуля</li><li>Cоздавать компоненты React, используя JSX синтаксис</li><li>Использовать модули Javascript</li><li>Использовать новые фичи Javascript ES6 при написании кода</li><li>Создавать и управлять сосотоянием компонентов</li><li>Передавать данные между компонентами</li><li>Использовать объект LocalStorage в браузерах</li><li>Создавать маршрутизацию с помощью React Router 4</li><li>Обрабатывать данные из форм</li><li>Использовать хук useState</li><li>Использовать возможности базы данных Google Firebase</li><li>Создавать систему авторизации</li><li>Развертывать приложение на хостинге (Netlify и Now).</li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-8dd19c0 greenbutton elementor-align-left elementor-widget elementor-widget-button" data-id="8dd19c0" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://react001.ru/" target="_blank" rel="nofollow noreferrer noopener" class="elementor-button-link elementor-button elementor-size-sm" role="button">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-text">Подробнее о курсе по React →</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
							</div>
		</section>
							</div>    </div><!-- .entry-content -->

</article>








    <div class="entry-social">
		
        		<div class="social-buttons"><span class="social-button social-button--vkontakte" data-social="vkontakte" data-image="https://romansementsov.ru/wp-content/uploads/2021/11/2021-11-19_20-35-51-150x150.png"></span><span class="social-button social-button--odnoklassniki" data-social="odnoklassniki"></span><span class="social-button social-button--telegram" data-social="telegram"></span><span class="social-button social-button--twitter" data-social="twitter"></span><span class="social-button social-button--moimir" data-social="moimir" data-image="https://romansementsov.ru/wp-content/uploads/2021/11/2021-11-19_20-35-51-150x150.png"></span><span class="social-button social-button--pinterest" data-social="pinterest" data-url="https://romansementsov.ru/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F_React_%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA/" data-title="React-разработчик: кто это, обязанности, зарплаты и как им стать в 2026 году. Обзор профессии." data-description="Кто такой React-разработчик? React-разработчик — это программист, который отвечает за внешний вид сайта или приложения и делает так, чтобы все интерактивные элементы работали, как задумано дизайнерами. React-разработчики используют знания в JavaScript, CSS, HTML. Что делают React-разработчики и чем занимаются? Обязанности на примере одной из вакансий: Участие в проекте в роли front-end разработчика Разработка технических решений [&hellip;]" data-image="https://romansementsov.ru/wp-content/uploads/2021/11/2021-11-19_20-35-51-150x150.png"></span><span class="social-button social-button--viber" data-social="viber"></span><span class="social-button social-button--whatsapp" data-social="whatsapp"></span></div>            </div>
















<!--noindex-->
<div class="author-box">
    <div class="author-info">
        <div class="author-box__ava">
            <img alt='' src='https://secure.gravatar.com/avatar/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=70&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/5c8effd918587a10d97481b7d6121d281e7e301fed01952b03fd9f65680f009f?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' loading='lazy' decoding='async'/>        </div>

        <div class="author-box__body">
            <div class="author-box__author">
                <a href ="https://romansementsov.ru/author/tobestone/" target="_blank">Редактор</a>            </div>
            <div class="author-box__description">
                <!--noindex--><p>Подборки всех курсов сделаны на основе открытых источников (поисковые системы). Перед приобретением/покупкой курса проверяйте юр. данные и отзывы о школе, во избежание какого либо обмана.</p>
<!--/noindex-->
            </div>

            
        </div>
    </div>

            <div class="author-box__rating">
            <div class="author-box__rating-title">Оцените автора</div>
            <error>
    <code>internal_server_error</code>
    <title><![CDATA[WordPress &amp;rsaquo; Ошибка]]></title>
    <message><![CDATA[&lt;p&gt;На сайте возникла критическая ошибка.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://wordpress.org/documentation/article/faq-troubleshooting/&quot;&gt;Узнайте больше про решение проблем с WordPress.&lt;/a&gt;&lt;/p&gt;]]></message>
    <data>
        <status>500</status>
    </data>
</error>

<!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com -->
