Как реагировать: Без обид: как реагировать на критику?

Содержание

Как реагировать на критику: 7 приемов

Татьяна Порицкая

психолог

Профиль автора

Ученые знают ответ на вопрос, как эффективно давать обратную связь на работе. Для этого есть универсальные правила.

Чтобы негативная обратная связь не казалась обидной и действительно способствовала прогрессу, она должна быть конструктивной и развернутой — сотруднику должно быть понятно, как исправить ситуацию.

Важно также сделать фидбэк нормальной частью рабочего процесса и давать его регулярно: тогда у сотрудников не будет ощущения, что на них внезапно обрушились с критикой.

Конструктивная критика, которая работает — Американская психологическая ассоциация

Ну и, конечно, большое значение имеет настрой критикующего: не так важно, какую тактику он выберет, главное, чтобы он был доброжелателен и открыт критике сам.

Сравнение эффекта разных типов фидбэка — Taylor & Francis Online Help Center

Однако это лишь теория. На практике нередко менеджеры даже не задумываются, как лучше преподнести обратную связь. В итоге она демотивирует, снижает продуктивность и ухудшает отношения в команде. Научить каждого коллегу критиковать этично не удастся, но есть другой путь — научиться правильно отвечать на критику, даже если она не кажется конструктивной. Это поможет отстоять свою точку зрения и избежать конфликтов.

Вот семь техник, которые сделают вашу коммуникацию на работе более эффективной.

ГДЕ СЛЕДИТЬ ЗА СИТУАЦИЕЙ

Главные новости — в нашем Телеграме

Подпишитесь, чтобы следить за разборами новых законов и анализом финансовой ситуации

Подписаться

Техника 1

Разоружение

Ситуация. Вы совершили ошибку, вашу работу критикуют или приходится поспорить, чтобы отстоять свое видение.

Что делать. Найдите в словах другого человека что-то полезное, отметьте это и поблагодарите его. Даже если сейчас критика кажется необоснованной, а чужое мнение — абсурдным, есть шанс, что вам дали дельную подсказку. Ваша реакция покажет, что вы слышите собеседника, цените его взгляд и адекватно оцениваете содержание разговора.

«Вы правы. Я действительно не учла этот параметр. Спасибо большое за замечание. Сейчас еще немного подумаю над вашими словами и пойму, как исправить ситуацию».

Техника 2

Перефразирование

Ситуация. Вы участвуете в важных переговорах, но не можете прийти к общему знаменателю. Вы хотите показать собеседнику, что серьезно относитесь к делу, или просто расположить его к себе.

Что делать. Перескажите то, что сказал собеседник, своими словами. Можно цитировать его и дословно, но в таком виде лучше повторить только часть сказанного. Так вы покажете, что слушаете внимательно и запоминаете все, что вам сказали.

«Я поняла ваше замечание по поводу моего проекта. Проекту нужно работать на расширение клиентской базы. Учту на будущее».

Техника 3

Уточняющие вопросы

Ситуация. Вы не уверены, что до конца понимаете, чего хочет собеседник. Или вам кажется, что между вами абсолютное взаимопонимание, но разговор важный и ошибка будет стоить дорого.

Что делать. Задать уточняющие вопросы. Часто мы додумываем за собеседника мысли и намерения: иногда получается понять их верно, иногда — нет. На работе цена ошибки бывает высокой. Например, приходится тратить время, чтобы переделать уже завершенную задачу, или сглаживать конфликт, который произошел исключительно из-за недопонимания.

«Так, давай проверим, что я тебя правильно поняла. Ты предлагаешь отложить эту работу на потом и подождать, пока мы получим всю нужную информацию?»

Попробуйте соединить эту технику с перефразированием: они отлично работают вместе.

«Вы сказали, что многие показатели работы нашего отдела в последние месяцы ухудшились. Уточните, пожалуйста, какие именно показатели стоит улучшить?»

Техника 4

Поглаживание

Ситуация. Вам приходится спорить, чтобы отстоять свое мнение, но важно при этом не потерять расположение собеседника и достичь компромисса. Или вы хотите о чем-то попросить человека, но не уверены, что он захочет помочь.

Что делать. Хвалить собеседника. Во время спора комплименты помогают смягчить напряжение. А человек, которому вы симпатичны, скорее окажет вам услугу, чем равнодушный человек.

Но будьте осторожны: комплименты не должны быть неловкими и неуместными, иначе могут, наоборот, оттолкнуть собеседника. Идеально, если они искренние и связаны с контекстом, в котором вы находитесь. Например, хвалить внешность коллеги во время спора точно не стоит, но будет уместно отметить его профессионализм и выразить свое уважение.

«Я восхищаюсь вашим опытом в решении таких вопросов. И очень рад даже возможности представить вам мой проект и услышать от вас обратную связь».

Техника 5

Выражение понимания

Ситуация. Собеседник указывает на ошибки: свои, ваши или чужие, предлагает вам что-то изменить в работе или просто жалуется.

Что делать. Подчеркните, что понимаете трудности, с которыми столкнулся человек. Вы можете вспомнить и упомянуть случаи, когда сами были в похожей ситуации. Но не говорите о себе слишком много, чтобы не было ощущения, что вы перетягиваете одеяло на себя. Пусть собеседник успокоится и увидит, какой вы внимательный и сострадательный человек.

«Я отлично понимаю, что ты имеешь в виду. Это действительно сложный клиент, и у меня тоже такие бывали».

Эту технику тоже можно объединить с перефразированием.

«Ты считаешь, что нам нужно использовать другие инструменты для привлечения клиентов: больше сотрудничать с известными порталами и вести соцсети. И я понимаю, почему ты так считаешь».

Техника 6

Рабочие границы

Ситуация. Вам пытаются навязать лишнюю работу, отчитывают за чужие промахи или ставят дедлайны так, что выполнить все в срок можно, только если трудиться сверхурочно.

Что делать. Уверенно, спокойно и доброжелательно напомните, что входит в ваши обязанности, а что нет. Вы можете апеллировать к трудовому кодексу, трудовому договору, должностным инструкциям и джоб-офферу, хотя про последний стоит помнить, что юридической силы он не имеет. Так вы покажете себя компетентным и уверенным в себе сотрудником и защитите личное время от посягательств.

Отстаивать свои рабочие границы очень важно. Вы будете знать свою часть работы и не станете перегружать себя лишней. Есть заблуждение, что тех, кто больше всех работает, с большей вероятностью повысят. На самом деле повышают чаще тех, кто умеет преподнести в выигрышном свете продукты своей деятельности.

— Почему график поставки еще не составлен?
— Я получила дополнительную информацию только вчера вечером. Было уже без десяти шесть, а в шесть мой рабочий день кончается. Поэтому я занимаюсь графиком сегодня. Скоро закончу и пришлю вам.

Попробуйте соединить эту технику с выражением понимания. Так вы сможете смягчить свой ответ и расположить к себе собеседника.

— Почему график поставок до сих пор не прописан? Вы ставите меня в неловкое положение перед руководителем отделения.
— Это и правда очень неудобно. Знаю, график нужно было утвердить еще на прошлой неделе. К сожалению, я не могу вам помочь: за график отвечает Василий. Я отвечаю только за переговоры с клиентами.

Техника 7

Мой вклад

Ситуация. Вашу работу критикуют — за дело или незаслуженно. Или вы делаете проект наравне с коллегой, но результат почему-то всегда приписывают ему.

Что делать. Подчеркните свой вклад в работу. Сделайте это подробно и спокойно. Если вас критикуют, сначала дайте критику высказать все замечания, а потом обратите внимание на все, что у вас получилось хорошо.

Чтобы получилось, репетируйте рассказ о достижениях заранее и записывайте на диктофон. Потом прослушивайте и корректируйте интонацию и содержание. Заучивать ничего не нужно, просто тренируйтесь: речь не должна звучать механически.

«Когда меня подключили к проекту, я сосредоточилась на поставках. За месяц у меня получилось наладить поставки в десяти магазинах. Я обговорила с поставщиком скидки и официально зафиксировала договоренности».

Что в итоге

Эффективной коммуникации, как и любым другим навыкам, нужно учиться. Используйте приемы как можно чаще, чтобы быстрее освоить их. Тренироваться можно не только на работе, но и с друзьями и родственниками.

Помните, что вы можете свободно совмещать приемы друг с другом. Главное — не переборщить: если вы одновременно используете больше трех приемов, можете звучать неубедительно и фальшиво. Со временем вы начнете интуитивно понимать, какой прием уместно применить и стоит ли совместить его с другим.

Одни приемы эффективной коммуникации вам будет легко включить в повседневное общение, другие — сложнее. Иногда попытки словесно «разоружить», «погладить» и «перефразировать» собеседника будут неловкими и нескладными. Относитесь к этому спокойно: трудности и неудачи — неизбежная часть обучения. Продолжайте совершенствовать навыки, и ваша коммуникация на работе станет эффективнее.


Как реагировать, чтобы не сорваться. Советы доктора Мясникова // Смотрим

Надо смириться с тем, что произошло, и не кричать: «Почему, как же так?» Надо это принять и быть фаталистами, советует врач Александр Мясников. В «Полном контакте» он дал советы людям, как правильно психологически реагировать на происходящее сейчас в стране и мире.

В программе «Полный контакт» на радио «Вести ФМ» и платформе «Смотрим» ведущий Владимир Соловьев спросил Александра Мясникова, как людям психологически правильно себя вести, чтобы с минимальными потерями пройти период адаптации.

«Первое: они должны смириться с тем, что произошло, и не кричать: «Почему, как же так?» Надо это принять», – говорит врач и ведущий программ о здоровье на канале «Россия 1».

Он советует подумать, что будет лично с вами в самом худшем случае: вы потеряете работу, сбережения? А потом подумать, что можно сделать в таком случае: может, начать выращивать огурцы на даче или найти другую работу.

«Когда вы прикинете, как жить в такой ситуации и тоже примете это, то успокоитесь и будете предотвращать этот наихудший сценарий», – уверяет доктор Мясников.

По его словам, сейчас самое неправильное – это плакать, кричать: «Как же так?» и думать о будущем. Как будет завтра, продолжает врач, мы не знаем.

«Моя жизнь показывает, что будет не так, как мы с вами думаем, а как-то по- другому. Надо быть просто фаталистами», – продолжает врач и напоминает известную фразу: «Делай, что можешь, и будь что будет».

Он призывает в существующей ситуации «быть гибче и умнее» и думать о своем здоровье, поскольку стрессы резко снижают иммунитет.

Доктор Мясников отмечает, что ковид сейчас никого не интересует, но он никуда не ушел.

«Жизнь продолжается. Нам понадобятся силы, поэтому давайте побережем нервы. Не нужно лишних истерик», – советует известный врач и телеведущий.

Еще больше интересных и важных новостей на сайте «Смотрим», в нашем Telegram-канале и Яндекс.Дзен. Новости сайта «Вести» – на страницах ВКонтакте, Одноклассников, Яндекс.Дзен и Telegram.

Как реагировать на плохое поведение детей — Женский журнал «ЗОЛОТОЙ»

Ты, конечно, уже знаешь, что ремень и угол, как, впрочем, и вседозволенность – худшие решения проблемы. Как грамотно вести себя, когда ребенок не слушается, рассказывают детские психологи.

Детские психологи уверены: родителям надо воспитывать не детей, а самих себя. Если малыш частенько проверяет твои нервы на прочность, мы подскажем, что делать. 


Сразу определимся со следующим моментом: физические наказания не только негуманны, но и поселяют в ребенке страх, готовность подчиниться тому, кто сильнее, и учат безответственности. Ведь становясь судьей, взрослый лишает ребенка возможности подумать над своим поступком самостоятельно. Если он наказан, значит, искупил свою вину и уже не нужно прилагать усилий, чтобы стать лучше.

Поэтому нужно искать другие варианты корректировки детского поведения. Чтобы выстроить среду для адекватного взросления человека, важно соблюсти ряд условий.

Не увлекайся запретами. Ограничений не должно быть чересчур много, иначе ребенок начнет расшатывать эти душащие его рамки. Строгие запреты должны касаться лишь фундаментальных правил поведения и быть по-настоящему важными. Например, мыть руки перед едой, не подбирать еду с пола и так далее. При этом в большинстве сфер необходимо предоставлять свободу самостоятельного выбора – что надеть в садик, какими игрушками играть, с какими ребятами дружить, какую книжку читать на ночь.

Читай также: Неидеальная мать – 5 шагов к счастливому материнству >>>>>

Обозначь границы. Не впадай и в другую крайность – вседозволенность, которую часто родители именуют «счастливым детством». Разумные запреты идут только на пользу ребенку – в очерченных родителями рамках он чувствует себя в безопасности. Если рамок нет и нет ответственных взрослых, которые «знают, как правильно», малышу придется самому повзрослеть слишком рано.

Будь солидарна с мужем. Родители должны открыто проговорить правила воспитания и придерживаться единой стратегии. Если за капризы на улице мама шлепает, а папа тут же жалеет и покупает мороженое, то будьте готовы к тому, что ребенок будет постоянно нарушать ваши требования. Просто требования разные, вы не показали границы дозволенного, дезориентировали его.

Не игнорируй особенности возраста. Ребенок в 7 лет – не тот беззаботный карапуз, каким был в год. Не игнорируй его запрос на расширение прав, но не забывай добавлять и обязанности, потому что одного без другого не бывает. Право гулять одному во дворе идет в комплекте с обязанностью выносить мусор.

Установите семейные правила, общие для всех. Нельзя требовать от детей, чтобы они читали книжки и не висли в телефоне, если сами вы с мужем не вылезаете из гаджетов даже за обеденным столом. То же касается еды перед телевизором и других бытовых привычек, которые мы позволяем себе, но не приветствуем в детях. Ребенка воспитывают не нравоучения и наказания, а личный пример.

Читай также: Онижедети – 10 педагогических хитростей от скандинавских мам >>>>>

Купируй конфликты в семье. Если вы с мужем склонны к горячим обсуждениям проблем, старайтесь делать это вдали от детских глаз. Зачастую взрослые, погруженные в свои заботы, забывают о ребенке. Он вполне может начать привлекать ваше внимание плохой успеваемостью в школе или разрушительным поведением. Плюс, глядя на вас, он переймет родительскую модель поведения – в будущем и для него станет нормой скандалить, кричать и хлопать дверьми.

Как реагировать на непослушание ребенка

Бывают случаи, когда просто необходимо грамотно ответить на поведение сына или дочери, опять же не прибегая к насильственным методам.

Ребенок демонстрирует опасное поведение

Василий Сухомлинский: «Многие беды имеют своими корнями как раз то, что человека с детства не учат управлять своими желаниями, не учат правильно относиться к понятиям «можно», «надо», «нельзя».

В силу своего нежного возраста ребенок не может осознать, что бежать за мячом на дорогу или перелезать через балконные перила может быть опасно для его жизни.

Что делать? Не думай, что двухлетний малыш проникнется рассказом про «злого волшебника, который живет в розетке и может больно укусить». Для строгих запретов лучше разработать систему ограничений, основанную на рефлекторном поведении. Иными словами, ребенок должен немедленно остановиться, услышав вашу команду.

Читай также: Мамины помощники – 5 советов по воспитанию, которые будут актуальны всегда >>>>>

Во-первых, подбери слово, которое будет обозначать категорический запрет. Это должно быть слово, к которому ты прибегаешь только в случае крайней необходимости/опасности. Так, лучше всего говорить «Стоп!», чем «Нельзя», которое ты можешь использовать часто. Второе – важно при возникновении опасных ситуаций стараться не выражать ярко свои эмоции. Конечно, испуг вряд ли удастся скрыть, но после не беги обнимать и прижимать к себе малыша, радуясь, что «обошлось». Иначе есть шанс, что ребенок будет специально провоцировать тебя на такие эмоции – чтобы почувствовать себя любимым. Лучше просто почаще обнимай его безо всякого повода.

Ребенок ведет себя безответственно

Людмила Петрановская: «Очень важно всякий раз, когда это возможно, вместо наказания использовать естественные следствия поступков».

В зависимости от возраста ребенок может пытаться играть с острыми предметами, терять дорогие вещи или вспоминать о домашнем задании поздно вечером.

Что делать? Позволь ему самому ощутить, как работают причинно-следственные связи. Иногда лучше довериться естественному, природному воспитанию и не принимать участия в каждом мгновении детской жизни. Позволить «жизни научить». Ведь что толку ругать 9-летнюю девочку, которая раз за разом теряет дорогие мобильные телефоны, если на следующий день ей покупают новый? Пусть походит со старым кнопочным, бабушкиным. А вот бабушке давно пора перейти на новенький смартфон.

Читай также: 7 правил французских мам, которые надо взять на вооружение >>>>>

Во взрослом мире никто не наказывает и не указывает, поэтому так важно сделать ребенка не удобным лично вам, а готовым к жизни. Пусть получит заслуженную двойку, если забыл про домашнее задание, останется без обеда, если бросался едой, и ест из грязной тарелки, если опять ее не помыл.

Ребенок бунтует и не слушается

Антон Макаренко: «Концентрация родительской любви на одном ребенке – страшное заблуждение».

Взрослеющий человек стремится к самостоятельности и отделению от родителей, этим обоснованы кризисы 3, 5 и 9 лет. В зависимости от возраста поведение может быть самым разным – от истерик с лежанием на газоне до грубого хамства в адрес родителей и учителей.

Что делать? Проанализировать, что предшествовало такому поведению. В большинстве случаев выяснится, что ты не предоставляешь своему малышу ту степень свободы, к которой он уже готов. Особенно часто этим грешат в чересчур опекающих семьях, где сильна роль бабушек.

Смотри также: Астрология для родителей – как воспитывать ребенка по знаку его Зодиака >>>>>

Нельзя отменить «самость», это физиологический этап взросления. Пусть выбирает себе одежу, не ест, если не голоден, ходит сам в школу, если это безопасно и он уже не боится. Да, нам трудно отпускать детей, часто мы не поспеваем за темпами их взросления, но делать это просто необходимо. Даже если ребенок хочет сделать что-то заведомо провальное, позволь ему ошибиться, пережить это разочарование и научиться чему-то.

Ребенок мешает окружающим

Константин Ушинский: «Если мы до сих пор применяем поощрения и наказания, то это показывает несовершенство нашего искусства воспитания…»

Печальные анекдоты о деструктивных детях в самолетах уже стали классикой. А еще дети отлично умеют бросать песок в глаза другим людям, все хватать с полок в торговом центре и визжать на всю поликлинику.

Что делать? Позволять ребенку так себя вести – не лучшая идея. По утверждению современных детских психологов, чересчур либеральное воспитание детей приносит больше вреда, чем пользы. Важно понимать, что вседозволенность не пойдет на пользу в первую очередь ребенку, поэтому научение нормам поведения в обществе никто не отменял. Без угроз и наказания объясняй, что его поведение может затронуть чувства других людей. В конце концов, воспитание в детях эмпатии и сострадания – лучшее, что мы можем сделать для их будущего.

Читай также: Дети, я дома – правила расслабления для работающих мам >>>>>

В рамках этого курса важно читать правильные детские книги. Например, можно обсудить с ребенком рассказ Виктора Драгунского «Все тайное становится явным». Там мальчик, который выбросил манную кашу на голову прохожего, раскаялся в своем поступке не потому, что мама не повела его в зоопарк, и не потому что пришел дядя-милиционер, а потому что ребенок понял, что обжег и испачкал человека, который просто шел фотографироваться. Считай, что научить ребенка продумывать последствия своих поступков и относиться с уважением к окружающим – твоя задача максимум как родителя.

Анна Офицерова

Как реагировать на грубость ребенка

Как реагировать родителям?

Мы уже отметили, что без ответа оставлять грубое поведение ребенка нельзя. Но каким именно он должен быть?

Чтобы сбить накал эмоций, спокойным и твердым голосом сообщите, что заслуживаете уважения, и разговаривать так с вами непозволительно никому.

  • Нельзя отвечать на грубость грубостью. Во время конфликта вы просто не будете услышаны. Родителям следует постараться сдержать свой гнев и раздражительность. Не следует повышать голос. Лучше выдержать небольшую паузу и спокойно дать понять ребенку, что разговор на эту тему вы продолжите только после того, как он успокоится и перестанет грубить.
  • Расскажите о возможных последствиях. Необходимо донести до ребенка, что грубое поведение по отношению к другим людям может испортить отношение к нему окружающих: с ним перестанут дружить сверстники, взрослые будут относиться настороженно, что отрицательно отразится на его репутации. Если даже грубость уже была сказана, то никогда не нужно стесняться приносить извинения за свое поведение.
  • Контролируйте свои эмоции. Да, взрослые тоже устают эмоционально, но это не повод срываться на ребенке при первом же его проступке. Научитесь держать свои эмоции под контролем и не реагировать бурно на грубость ребенка. Проявите мудрость, сосчитайте мысленно до 10 и только после этого приступайте к диалогу. А в некоторых случаях такой диалог стоит немного отложить, пока все не успокоятся.
  • Проводите анализ поведения. Дождитесь, когда ребенок будет «в духе», и спокойно обговорите с ним ситуацию. Расскажите, что каждый человек может быть в плохом настроении, но это не повод грубить взрослым и «рубить с плеча». Личным примером научите ребенка справляться с негативными эмоциями и держать ситуацию под контролем.

Профилактика грубости

  • Просьбы ребенка, произнесенные грубым тоном, не следует выполнять. И обязательно предупредите ребенка на будущее, что вы не будете выполнять приказы и просьбы, хамски озвученные. Нужно попросить, и тогда родители по возможности выполнят желание или обсудят, когда и как это будет возможно. А безапелляционные требования выполняться не будут.
  • Ребенок должен знать слово «нет». И принимать отказ. «Вето» всегда должно быть обосновано. Да, ребенка услышали и уважают его желания, но по ряду причин их исполнить нельзя или пока не представляется возможным. Параллельно следует напомнить, что грубость никак не приблизит желаемое.
  • Правила поведения должны быть едиными для всех членов семьи. И вновь возвращаемся к личному примеру. Единой линии поведения должны придерживаться абсолютно все члены семьи. И как ребенку не позволено грубить взрослым, так и родители не должны демонстрировать подобное поведение ни по отношению к ребенку, ни между собой.
  • Уделяйте ребенку больше внимания. Собственно, отсутствие внимания лежит в основе практически всех прорастающих из этой проблемы причин грубого поведения. Отсутствие контакта с родителями ведет к тому, что ребенок через хамство и грубость хочет быть услышанным. Это его способ привлечь внимание. Очень важно ежедневно выделять хотя бы немного своего времени, чтобы обсудить с ребенком прошедший день, услышать его впечатления от каких-то событий или запланировать совместный досуг на ближайшие дни. Не избегайте и тактильного контакта. Порой именно объятия и поцелуи позволяют ощущать ребенку свою значимость. Не стесняйтесь лишний раз говорить, что любите. Если вы будете именно таким образом выстраивать свое поведение, то есть шансы сравнительно мягко пережить подростковый возраст и избежать превращения любящего ребенка в «колючего ежика».

София Шевченко

Фото с сайта malteseworld.ru

Совсем немного времени осталось до таких долгожданных летних каникул! Родители стремятся так организовать отдых ребенка, чтобы он прошел и с удовольствием, и с пользой. Данный тест поможет определить ведущий тип темперамента ребенка и в соответствии с ним выбрать подходящий вид отдыха.

Пройти тест

Обман на работе: как реагировать руководителю? Стоматология Dental Way в Москве и Московской области

Сотрудник сообщает о болезни. Вы, как руководитель, отпускаете его, желая скорейшего выздоровления. Берете на себя его задачи. А через пару дней, листая ленту Инстаграм, замечаете того самого сотрудника, улыбающегося вам с пляжной фотографии в Турции.

***

У сотрудника есть срочная задача. Он звонит вам, с трудом сдерживая слезы: «Моей собаке очень плохо. Везу ее в ветеринарную клинику». Собака — друг человека. Разумеется, вы отпускаете коллегу и выполняете за него необходимый объем работы, ежечасно интересуясь состоянием питомца.

И вот, месяц спустя, вы вместе обедаете в офисе. И сотрудник рассказывает забавную историю о своей кошке. «Кошка?» — спрашиваете вы — «Как они у вас с собакой уживаются? Дружат?». «Какая собака?» — удивляется коллега. Занавес.

***

Увы, истории взяты из реальной жизни. Все тайное становится явным. Как же реагировать на раскрывшуюся ложь?

Быть может, сделать вид, что вы ничего не заметили? Наверняка у сотрудника была веская причина для лжи. Простить, переведя все в шутку? Или все-таки наказать? Оштрафовать? Уволить?

Согласно социальной статистике HeadHunter, 68% россиян регулярно обманывают работодателя, что сходит им с рук. 26% респондентов сообщают, что ложь была раскрыта, но не принесла серьезных последствий для карьеры. И лишь 6% признают, что за обман пришлось отвечать.

Я считаю ложь серьезным проступком. И если это произошло один раз, обман обязательно повторится впредь. Отныне вы не сможете доверять члену команды, и будете оценивать его под «лупой».

Тем не менее, у каждого есть право на второй шанс. И первое, что необходимо предпринять — разобраться в причинах. Иногда сотрудник берет на себя задачу, заведомо зная, что не справится с ней. Порой за обманом стоит неуверенность в себе, внутренняя борьба.

Не рубите с плеча. Однако, если обман повторится — прощайтесь. Вам не по пути.

Родитель — тоже человек: обидные слова ребенка и как на них реагировать

Психолог центра «Архитектура будущего» Александра Чернышева рассказывает родителям, откуда берутся обидные слова ребенка и как на них реагировать. 

— Часто во время ссоры люди произносят неприятные слова, которые впоследствии отрицают. Мы действительно говорим не то, что думаем, или в этом состоянии всплывает именно то, что мы так долго мы держали в себе?

— Встречаются оба варианта. Очень часто в запале ссоры произносятся те слова, которые изначально человек не намеревался произносить. Безусловно, об этих словах человек думает и держит их в голове. Однако это совсем не значит, что вне конфликтной ситуации он бы это высказал. В подростковом возрасте ссоры часто сопровождаются выплеском эмоций. Когда недовольство друг другом накапливается, в порыве ссоры, на эмоциях каждый может высказать то, что беспокоит его и раздражает в грубой форме.

Возрастные кризисы у ребенка: как не сойти с ума родителю?

— Что делать, если ребенок произнес обидную болезненную фразу, после которой кажется, что вернуться к прошлым отношениям не удастся?

-Во-первых, вспомните о так называемых «Я-высказываниях». Суть метода заключается в том, что мы говорим  про себя и свои эмоции: не «Ты меня обидел», «Ты меня расстроил», «Ты меня разозлил», а «Я обиделся», «Я расстроился» и «Я разозлился». Тем самым начните с признания существования своих эмоций.

Каждый человек знает болезненные точки родных и близких и может в ссорах неосознанно на них надавить. Ребенок, произнося обидную для вас фразу, делает именно это.

Во-вторых, необходимо помнить о том, что в отношениях между родителем и ребенком главная роль отводится родителю. Если вам кажется, что после произнесенных ребенком обидных слов к прежним отношениям не вернуться, значит, вы относитесь к ребенку как к равному, что неправильно. Главный – родитель, и его задача объяснить ребенку, какие последствия бывают из-за неприятных слов и выражений. В случае, если мы обижаемся и глубоко погружаемся в  обиду, мы оказываемся за рамками детско-родительских отношений, что вредно для обеих сторон.

— Давайте разберем наиболее часто встречающиеся фразы. Что означает, если ребенок говорит: «Ты меня не любишь»?

-Чаще всего – это запрос на внимание. Наиболее правильной реакцией родителя будет не отвечать: «Нет же, я тебя люблю», — а попытаться понять, чего ребенку не хватает. Нужно расспросить ребенка, почему ему кажется, что его не любят; как он вообще понимает, что любим близкими, то есть в каких действиях для него проявляется любовь.

Кстати, это полезно проанализировать и самим родителям: как вы понимаете, что вас любят. Другой вполне распространенный вариант – это попытка манипулирования: «Я хочу ту игрушку, тот гаджет» и т.п. Если вы понимаете, что сейчас именно такой случай, имеет смысл проговорить с ребенком о взаимосвязи любви и финансовых операций. Если родитель до этого легко шел на покупки и траты по первому желанию ребенка, то в понимании последнего на родителя накладываются некие обязательства в аналогичных ситуациях. Это своеобразный маячок о том, что не будет лишним поговорить с ребенком про финансовые отношения в семье.

— Если ребенок говорит «Ты меня не понимаешь»?

— Это наиболее часто встречающаяся фраза в период подросткового возраста, когда ребенку кажется, что его эмоции уникальны, и такого, как с ним, не было никогда и ни с кем. Здорово, если родитель сможет вспомнить себя в подростковом возрасте, чего ему хотелось от своих родителей. Возможно, в спокойной обстановке не будет лишним поделиться с ребенком этими воспоминаниями.

— Как можно трактовать слова «Лучше бы я умер» или «Вот умру, ты все поймешь»?

— Обычно за такими словами стоит сильная эмоциональная реакция со стороны ребенка. В то же время детям обычно сложно сформулировать сильные эмоции: малыши топают ногами и кричат: «Я тебя не люблю, ты плохой». Дети постарше могут сказать: «Вот я умру, тогда посмотришь».

Важно встать на место ребенка, попытаться понять, что он в этот момент испытывает. Немаловажно задавать ему вопросы: «Тебе сейчас больно, грустно?», «Ты сейчас злишься, правильно?». Помогайте осознать саму эмоцию и подобрать ей правильное название. Если совместно с ребенком все обсудить, скорее всего, выяснится, что умирать он не собирается.

В крайнем случае, если ребенок часто так говорит, то это может уходить в манипулирование, точно так же, как и с любой другой фразой. Здесь важно иметь в виду, что дети часто высказывают то, чего взрослые боятся. Это бывает как со словами, так и с поведением. Когда ребенок лезет на окно в процессе ссоры, он осознает, что родитель боится этого. Если вы реагируете на это со страхом и паникой, то, с одной стороны, закрепляете у ребенка такое поведение, с другой, не переходите на уровень взаимодействия и прояснения его эмоций.

— Если родитель слышит в свой адрес: «Ты плохая мать», «Ты плохой отец»?

— Идея, что мы плохие родители, существует в нашем сознании с момента появления ребенка. Кроме того, родителю об этом активно напоминают близкие, знакомые, врачи, воспитатели и прочие люди, которые его окружают. Это самая простая вещь, которой родителя можно вывести из себя и заставить его чувствовать вину. Далее родитель либо начинает переживать и стараться для своего ребенка лучше, либо начинает сильнее злиться, так что ссора накаляется еще больше.

Эта фраза – попытка вывести на эмоцию и избавиться от своих эмоциональных переживаний. «Мне плохо, мне грустно, ты плохая мать!» — и вот мы скинули эмоциональное напряжение. Ребенок, тонко чувствуя, цепляет наши эмоции. Иногда это просто обида и манипуляции, а иногда это попытка достучаться и показать, что есть что-то конкретное, что ему не нравится. В последнем случае это вычисляется простым вопросом: «Что тебя не устраивает?». После него вы сможете перейти на конструктивный уровень решения проблем. Главное справьтесь с эмоциями и не переходите с ребенком на взаимные обвинения.

— Что кроется за фразой «Я тебя ненавижу»?

— В этой ситуации я бы прислушалась к тому, что чувствует родитель в этот момент. В нашем обществе табуированы проявления сильных негативных эмоций. Если мы вспоминаем о семье как понятии, то в ней традиционно ребенок не должен возмущаться, громко плакать на людях, злиться, а должен соответствовать образу хорошего ребенка. Поэтому он говорит «я тебя ненавижу», когда накопилось очень много эмоций и недовольств, настолько сильных, что случается взрыв.

— Если мы слышим от ребенка «Я ухожу из дома»?

— Опять же, разделяем на 2 пласта. Первый пласт – манипулирование. Если родитель среагировал правильно (продемонстрировал спокойствие и твердость позиции), то подобного в следующий раз не случится. Если мы этого боимся, то ребенок в каждом новом споре будет идти по этому пути. С другой стороны, если в отношениях все действительно хорошо, в семье взаимопонимание, обычно такой проблемы не возникает. Таким образом, это может быть пусть и манипулятивный, но все-таки сигнал о том, что ребенок чем-то обеспокоен.

— Как реагировать на «Ты испортила мою жизнь»?

— Эта фраза работает в обе стороны: ее можно услышать как от подростков в адрес родителей, так и наоборот. Первое, что стоит сделать родителю, — это вспомнить, не говорил ли он сам таких слов ребенку. Если нет, возвращаемся к проговариванию собственных эмоций и обратно к «Я-высказываниям».

Если знаете, что говорили ребенку такое, важно осознать и понять, что проблема может быть глубже. Ребенок, привыкший к тому, что родитель обвиняет его в собственных жизненных неудачах, считает подобные фразы нормой. Соответственно, первым шагом к исправлению ситуации будет отказ родителя от подобного аргумента в ссорах и признание своей неправоты. Важно помнить, что ребенок, считающий себя виноватым в несчастье родителей, несет этот груз постоянно, что отражается на его самооценке и поведении.

— Как понимать фразу «Отстань от меня»?

— Ребенок произносит это, если его личные границы нарушаются. Например, родительского внимания слишком много, и его чрезмерно опекают или оно не такое, какое нужно ребенку, и к ребенку относятся по-детски. «Отстань от меня» вполне может быть сигналом о том, что родителя слишком много в жизни ребенка, причем не в формате старшего партнера, а в формате контролирующего полицейского. «Какие оценки, что в школе, почему в комнате не убрался, почему бардак?»  — в рамках таких вопросов контакт с ребенком формальный, нежели дружеский, партнерский.

— Что делать, если ребенок заявляет «Ты ничего не понимаешь»? «Я взрослый, я умный, а ты старый»?

— Стоит подумать о том, почему ребенку кажется, что ваш опыт не может ничего ему дать. Возможно, пора переходить на более партнерские отношения с меньшим количеством нравоучений.

— Что необходимо сделать родителю, чтобы в будущем ребенок не облекал  негативные эмоции в форму обидных слов?

— Важно проговаривать ребенку собственные эмоции, которые возникают у вас в ответ на его слова. Если мы не будем этого делать, то в какой-то момент наши собственные эмоции могут выйти из-под контроля, приводя к эмоциональной буре, сильному и никому не нужному скандалу. Да и самому ребенку полезно понимать, что детско-родительские отношения все-таки иерархичны, так что в пылу самой сильной ссоры имеет смысл «выбирать выражения». А это легче всего достигается через спокойное объяснение родителями своих эмоций.

Как родителю позаботиться о себе?

— Какие общие рекомендации можете дать для родителей, сталкивающихся с подобными высказываниями?

— Данные фразы являются маркером того, что у ребенка много сильных эмоций, которые он длительное время держал в себе, в результате чего их стало сложно объяснить нормальными необидными словами. После разбора конкретных ситуаций поговорите с ребенком о том, что злиться – это нормально, но нужно осознавать свои эмоции и их подоплеку. Такой вариант действий подойдет для детей доподросткового возраста.

Если говорить о подростковом возрасте, масштаб эмоций увеличивается в несколько раз. Ведь эмоциональная буря, сопровождающая процесс полового созревания, усиливает все реакции. Важно не забывать, что ребенок меняется, растет, ему важно получать от родителя не только защиту и контроль, но внимание и, по крайней мере, совещательное право голоса. Если вы хотите сохранить близкие отношения с ребенком, то помните, что даже самый маленький ребенок – это отдельная личность со своими чувствами, желаниями и потребностями. В таком случае коммуникация будет гораздо более успешной.

Биографическая справка:

Александра Чернышева

Александра Чернышева – психолог-консультант, закончила факультет психологии СПбГУ кафедру Кризисных и экстремальных ситуаций.

С 2007 Александра ведет индивидуальные, групповые консультации и тренинги с детьми и подростками, а также координирует работу лагеря «Архитектура будущего». К сфере ее научных и практических интересов относятся следующие темы:

  • «Уверенность в себе»,
  • «Интеллектуальная успешность»,
  • «Эффективность в общении».

Вы можете бесплатно забронировать путевку в лагерь «Архитектура будущего», в котором работает Александра:

Генеральный директор incamp.ru

Навигация по записям

Как реагировать художнику на критику?

В течение всей карьеры художнику приходится сталкиваться с разными формами критики своего творчества. Пересуды и сплетни в мире искусства являются обыденным и повседневным явлением: одни говорят в лицо, другие пишут статьи или снимают видео, пишут в блогах, зубоскалят на форумах или просто злословят у вас за спиной. Художнику надо научиться справляться со своими эмоциями и с уязвлённым самолюбием, фильтровать поток мнений, отзывов, комментариев, критики, зависти, а иногда и откровенной ненависти. Очень важно научиться правильно реагировать на этот поток неоднозначной информации и не принимать близко к сердцу ни хорошего, ни плохого. Излишняя чувствительность к критике всегда тормозит процесс творчества.

Но сначала я хочу сказать пару слов о художниках, имеющих странную привычку ни с того, ни с сего спрашивать мнение окружающих о своих работах. Ведь, по сути, главный вопрос, ответ на который должен волновать каждого художника, должен быть обращён к самому себе. И этот вопрос должен быть сформулирован примерно так: «Что Я думаю о своей живописи?». Однако давайте поговорим об этом позже. А пока просто уясните для себя, что каждый раз, спрашивая мнение о своих картинах, вы ставите людей в неловкое положение, особенно если вы с ними лично не знакомы. Почему-то многие, особенно начинающие художники, намечают жертву среди тех, кто пришёл к ним на выставку и методично пытают несчастного посетителя, с которым не знакомы и который ничего плохого им ещё не успел сделать. Несмотря на очевидную нелепость ситуации, многие годами практикуют эту оригинальную форму пытки. Совершенно очевидно, что большинство жертв недальновидности назойливого художника, обнаружив себя в этой неловкой ситуации, постараются закончить общение с художником как можно скорее. Более того, все сказанное ими не будет соответствовать тому, что они на самом деле думают о художнике. Очевидно, что задавать подобные вопросы мало знакомым людям бессмысленно. Ведь нет никакой уверенности, что вам ответят искренне. Бессмысленно просить откровенно поделиться своим мнением людей, с которыми вы ещё не установили обыкновенных человеческих отношений. Позвольте окружающим самим решать, высказывать ли им своё мнение относительно ваших работ или нет. Дайте людям возможность самим решать когда и как высказывать свое мнение. И поверьте, что со временем множество ваших поклонников сами отреагируют всеми возможными способами на ваше творчество. Правда, будьте готовы как к положительной, так и к отрицательной критике. Однако, вне зависимости от того, что именно о вас будут говорить и как именно будут о вас отзываться, любая критика — это всегда кладезь информации и отличная возможность изучить влияние ваших работ на публику.

Справедливости ради, нужно признать, что бессмысленно ожидать ценную информацию в каждом высказывании. Многие художественные натуры проявляют излишнюю эмоциональную восприимчивость и при малейшем критическом замечании сразу занимают оборонительную позицию, даже не задумываясь, от кого именно исходит критика. Никогда не принимайте близко к сердцу критику, исходящую не от покупателей, коллекционеров, владельцев галерей и тех, кто имеет реальную возможность повлиять на вашу карьеру. Ну а критика, услышанная вами во время приятной и мимолетной беседы с друзьями или членами семьи, вообще не несёт никакой информационной нагрузки. Делать глобальные выводы из простой болтовни знакомых бессмысленно.

Чтобы определить, насколько серьёзен и значим диалог, в центре которого оказалось ваше произведение, сначала проанализируйте участников дискуссии. Кто эти люди? Знают ли они вас? Знакомы ли они с жанром искусства, в котором вы работаете? Насколько признан их авторитет? Каковы их познания в искусстве? Насколько они квалифицированы, чтобы судить о таланте и мастерстве художника? Являются ли они потенциальными покупателями или уважаемыми членами художественного сообщества? С какой целью ведётся конкретный диалог? Сильно ли отличаются интересы этих людей от ваших? Постепенно вы научитесь быстро классифицировать своих критиков и будете в более выгодной позиции во время дискуссий и даже сможете получать удовольствие в процессе обсуждений.

Однако, все вышесказанное не означает,что если мнение человека вам показалось недостаточно квалифицированным, то его нужно полностью игнорировать. Если вашей задачей является расширение аудитории, то вы должны считаться с каждым высказанным мнением, а не только с мнением избранных. Просто не принимайте близко к сердцу каждое сказанное в ваш адрес слово.

Постарайтесь не забывать, что реакция комментаторов любого уровня базируется либо на индивидуальных предпочтениях, либо, напротив, на академических знаниях и общем представлении о живописи. Чаще всего, о творчестве художника высказываются творческие личности, оценившие талант или напротив, не желающие признавать его. Все эти нюансы нужно учитывать при общении с профессиональными критиками и дилетантами. И никогда не забывайте, что вы и ваше творчество уникальны и всем угодить невозможно. Тем не менее, критику, основанную на личных вкусах и предпочтениях бывает ценно послушать, особенно если одно и то же мнение повторяется вновь и вновь. Иногда это хороший повод задуматься над тем, что и как вы делаете. Хотя, вновь хочу повториться, не воспринимайте все слишком серьёзно, потому что мнение, повторяемое многократно разными людьми, в реальности не является мнением о вас или вашем творчестве, это скорее стандартное мнение, основанное на предпочтениях большинства. Другими словами, не придавайте значения всему, что говорят о ваших картинах в пылкой манере и согласно индивидуальным предпочтениям в живописи. Люди разные и вкусы у них тоже разные.

И все же, надо признать, что комментарии простых людей обычно непредвзяты, более информативны, рождены свободными, не базирующимися на интересах арт-бизнеса, предпочтениями и апеллируют к живописи в общих чертах, без учета особенностей вашей техники и мастерства, и потому, стоит прислушаться к ним более серьёзно. Например, я рассматриваю множество завершенных работ и ни одна из них не трогает меня лично. Тем не менее, я могу отметить высокое мастерство художника. И напротив, есть работы, которые я принимаю всем сердцем, хотя и понимаю, что они не являются шедеврами с технической точки зрения.

Лично для меня, важным этапом является решение вступить в диалог с художником. Я остаюсь беспристрастным, отодвигаю свои вкусовые предпочтения и рассматриваю художественное произведение без учёта собственных предпочтений. Потому, что именно такая разновидность критики и является ценной и заслуживающей внимания.

У художника в сознании всегда должна преобладать непоколебимая вера в свой талант. Это необходимо, чтоб быть в состоянии противостоять любому недоброму и поверхностному мнению, брошенному на бегу. Многие творческие личности падают жертвами очень энергозатратного способа реакции. Вместо того, чтоб заниматься самоедством, сосредоточьтесь лучше на положительных отзывах. Общие выводы всегда делайте опираясь на отклики, накопленные за продолжительный период времени. Нельзя делать выводы, основанные на одном комментарии, вне зависимости от того, кто его написал. Регулярно собирайте информацию, постарайтесь собрать как можно больше сведений о покупателях, составляйте каталог, категоризируйте и накапливайте сведения. Спустя какое-то время станет понятна общая тенденция и выстроится общая структура откликов на ваше творчество. Вы увидите сходные ответные реакции и эмоции пользователей на свои произведения и постепенно создадите положительную информативную презентацию своего творчества, что в последствии обязательно принесет пользу вашей карьере.

Однозначно можно утверждать, что никогда не следует делать выводы на основании только одного отклика или критического высказывания, независимо от того, кем оно было сделано. Сегодня мир искусства огромен. Мы живём в эпоху Интернета, нам открыто множество прекрасных возможностей в любое время дня и ночи. В Интернете хватает площадок для всех точек зрения и все продукты творческого труда сосуществуют друг с другом и находят спрос у потенциальных покупателей. Нужно только найти свою аудиторию и суметь привлечь внимание к себе и к своему творчеству.

И наконец, хотя, безусловно, комментарии и сплетни дают пищу для размышлений и помогают правильно направлять маркетинговые усилия, нужно все же научиться отодвигать их в сторону, чтобы быть в состоянии продуктивно заниматься творчеством. Перечитайте самое начало этой статьи, где я озвучил главный вопрос, который каждый художник должен регулярно задавать себе: «Что вы думаете по поводу своей живописи?». Ответ на этот вопрос значит куда больше, чем мысли, высказывания и критика окружающих, какой бы высокой квалификацией они не обладали. Если вы чувствуете себя настолько неуверенно, что у вас возникает постоянная потребность оглядываться на других с виноватым видом в поисках признания или одобрения, то мой вам совет – чаще заглядывайте вглубь себя, подкорректируйте свою мотивацию, постарайтесь понять, почему признаки внешнего одобрения вам так необходимы. В конце концов, творчество — это вы сами и ваша уверенность в своей деятельности. Творчество не должно слишком сильно зависеть от мнения других. Конечно, нельзя полностью игнорировать высказывания окружающих, но ваша решимость и приверженность тому, что вы делаете, всегда должны быть сильнее любой критики. Нельзя позволять критикам убивать вдохновение. Оставайтесь верными своей страсти, ведь долг перед собой всегда важнее.

Алан Бамбергер

***

Editing and translation courtesy of Anna Seven. Find out more about Anna and her art by visiting her website, annaseven.com


(art by Eric White)

Начало работы — React

На этой странице представлен обзор документации React и связанных ресурсов.

React — это библиотека JavaScript для создания пользовательских интерфейсов. Узнайте, что такое React, на нашей домашней странице или в учебнике.


Попробуйте Реагировать

React с самого начала разрабатывался для постепенного внедрения, и вы можете использовать столько React, сколько вам нужно. Если вы хотите попробовать React, добавить интерактивности на простую HTML-страницу или запустить сложное приложение на основе React, ссылки в этом разделе помогут вам начать работу.

Онлайн игровые площадки

Если вам интересно поиграть с React, вы можете использовать онлайн-площадку для кода. Попробуйте шаблон Hello World на CodePen, CodeSandbox или Stackblitz.

Если вы предпочитаете использовать свой собственный текстовый редактор, вы также можете загрузить этот HTML-файл, отредактировать его и открыть из локальной файловой системы в своем браузере. Он выполняет медленное преобразование кода во время выполнения, поэтому мы рекомендуем использовать его только для простых демонстраций.

Добавить React на веб-сайт

Вы можете добавить React на HTML-страницу за одну минуту.Затем вы можете либо постепенно расширять его присутствие, либо ограничить его несколькими динамическими виджетами.

Создайте новое приложение React

При запуске проекта React простая HTML-страница с тегами сценария может быть лучшим вариантом. Настройка занимает всего минуту!

По мере роста вашего приложения вам может потребоваться более интегрированная установка. Есть несколько цепочек инструментов JavaScript, которые мы рекомендуем для больших приложений. Каждый из них может работать практически без настройки и позволяет вам в полной мере использовать богатую экосистему React.Узнать, как.

Изучите реакцию

В React приходят люди с разным опытом и с разным стилем обучения. Независимо от того, предпочитаете ли вы более теоретический или практический подход, мы надеемся, что этот раздел окажется для вас полезным.

Как и у любой незнакомой технологии, у React есть кривая обучения. С практикой и терпением вы освоитесь.

Первые примеры

Домашняя страница React содержит несколько небольших примеров React с живым редактором.Даже если вы еще ничего не знаете о React, попробуйте изменить их код и посмотрите, как это повлияет на результат.

React для начинающих

Если вы чувствуете, что документация по React развивается быстрее, чем вам удобно, ознакомьтесь с этим обзором React от Тани Раскиа. Он подробно и удобно для начинающих знакомит с наиболее важными концепциями React. Как только вы закончите, попробуйте документацию еще раз!

React для дизайнеров

Если у вас есть опыт работы в сфере дизайна, эти ресурсы — отличное место для начала.

Ресурсы JavaScript

Документация React предполагает некоторое знакомство с программированием на языке JavaScript. Вам не обязательно быть экспертом, но сложнее одновременно изучать React и JavaScript.

Мы рекомендуем просмотреть этот обзор JavaScript, чтобы проверить свой уровень знаний. Это займет у вас от 30 минут до часа, но вы будете чувствовать себя более уверенно, изучая React.

Наконечник

Всякий раз, когда вас что-то смущает в JavaScript, MDN и javascript.info — отличные веб-сайты для проверки. Существуют также форумы поддержки сообщества, где вы можете обратиться за помощью.

Практическое руководство

Если вы предпочитаете учиться на практике, ознакомьтесь с нашим практическим руководством. В этом уроке мы создадим игру в крестики-нолики в React. У вас может возникнуть соблазн пропустить его, потому что вы не занимаетесь созданием игр, но дайте ему шанс. Методы, которые вы изучите в этом руководстве, являются основополагающими для создания любых приложений React, и их освоение даст вам гораздо более глубокое понимание.

Пошаговое руководство

Если вы предпочитаете изучать понятия шаг за шагом, лучше всего начать с нашего руководства по основным понятиям. Каждая следующая глава в ней основывается на знаниях, представленных в предыдущих главах, так что вы ничего не пропустите по мере продвижения.

Мышление в Реакции

Многие пользователи React считают, что чтение Thinking in React стало для них моментом, когда React наконец-то «щелкнул» их. Это, вероятно, самое старое пошаговое руководство по React, но оно по-прежнему актуально.

Рекомендуемые курсы

Иногда люди находят сторонние книги и видеокурсы более полезными, чем официальная документация. Мы поддерживаем список часто рекомендуемых ресурсов, некоторые из которых бесплатны.

Дополнительные концепции

Когда вы освоитесь с основными понятиями и немного поиграете с React, вас могут заинтересовать более сложные темы. Этот раздел познакомит вас с мощными, но редко используемыми функциями React, такими как контекст и ссылки.

Справочник API

Этот раздел документации полезен, если вы хотите узнать больше о конкретном React API. Например, в справочнике API React.Component можно найти подробную информацию о том, как работает setState() и для чего полезны различные методы жизненного цикла.

Глоссарий и часто задаваемые вопросы

Глоссарий содержит обзор наиболее распространенных терминов, которые вы встретите в документации React. Существует также раздел часто задаваемых вопросов, посвященный коротким вопросам и ответам на общие темы, включая запросы AJAX, состояние компонентов и структуру файлов.

Будьте в курсе

Блог React является официальным источником обновлений от команды React. Все важное, включая заметки о выпуске или уведомления об устаревании, будет опубликовано там в первую очередь.

Вы также можете подписаться на учетную запись @reactjs в Твиттере, но вы не пропустите ничего важного, если будете читать только блог.

Не каждый выпуск React заслуживает отдельного сообщения в блоге, но вы можете найти подробный журнал изменений для каждого выпуска в файле CHANGELOG.md в репозитории React, а также на странице «Выпуски».

Версия документации

Эта документация всегда отражает последнюю стабильную версию React. Начиная с React 16, вы можете найти более старые версии документации на отдельной странице. Обратите внимание, что документация по прошлым версиям создается на момент выпуска и не обновляется постоянно.

Что-то пропало?

Если в документации чего-то не хватает или какая-то часть кажется вам запутанной, отправьте сообщение о проблеме в репозиторий документации с предложениями по улучшению или напишите в Твиттере в учетной записи @reactjs.Мы любим слушать вас!

Тестирование приложений React · Jest

В Facebook мы используем Jest для тестирования приложений React.

Настройка с помощью приложения Create React​

Если вы новичок в React, мы рекомендуем использовать приложение Create React. Он готов к использованию и поставляется вместе с Jest! Вам нужно будет только добавить react-test-renderer для рендеринга снимков.

Выполнить

  yarn add --dev react-test-renderer 

Установка без создания приложения React

Если у вас есть существующее приложение, вам нужно установить несколько пакетов, чтобы все работало вместе.Мы используем пакет babel-jest и пресет react babel для преобразования нашего кода в тестовую среду. Также смотрите использование babel.

Выполнить

  yarn add --dev jest babel-jest @babel/preset-env @babel/preset-react react-test-renderer 

Ваш package.json должен выглядеть примерно так (где — это фактический номер последней версии пакета). Добавьте сценарии и записи конфигурации jest:

  "зависимости": { 
"реагировать": "<текущая версия>",
"реагировать-дом": "<текущая версия>"
},
"devDependencies ": {
"@babel/preset-env": "<текущая-версия>",
"@babel/preset-react": "<текущая-версия>",
"babel-jest": "<текущая- версия>",
"шутка": "<текущая версия>",
"реакция-тест-рендерер": "<текущая версия>"
},
"скрипты": {
"тест": "шутка"
}

вавилон.config.js

  module.exports = { 
предустановки: ['@babel/preset-env', '@babel/preset-react'],
};

И вперед!

Тестирование снимков

Давайте создадим тест снимков для компонента Link, который отображает гиперссылки:

Link.js

  import React, {useState} from 'react'; 

const STATUS = {
HOVERED: «завис»,
NORMAL: «нормальный»,
};

const Ссылка = ({страница, дочерние элементы}) => {
const [status, setStatus] = useState(STATUS.НОРМАЛЬНЫЙ);

const onMouseEnter = () => {
setStatus(STATUS.HOVERED);
};

const onMouseLeave = () => {
setStatus(STATUS.NORMAL);
};

return (
className={status}
href={page || '#'}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
>
{children}

);
};

экспорт по умолчанию Ссылка;

Примечание. В примерах используются функциональные компоненты, но компоненты класса можно тестировать таким же образом.См. React: Компоненты функций и классов. Напоминает , что с компонентами класса мы ожидаем, что Jest будет использоваться для тестирования свойств, а не методов напрямую.

Теперь давайте воспользуемся тестовым рендерером React и функцией моментальных снимков Jest для взаимодействия с компонентом, захвата визуализированных выходных данных и создания файла моментального снимка:

Link.test.js

  import React from 'react'; 
импортировать рендерер из «реагировать-тест-рендерер»;
импортировать ссылку из '../Link';

test('Ссылка меняет класс при наведении', () => {
const component = renderer.create(
Facebook,
);
пусть дерево = component.toJSON();
ожидать(дерево).toMatchSnapshot();


tree.props.onMouseEnter();

дерево = компонент.toJSON();
ожидать(дерево).toMatchSnapshot();


tree.props.onMouseLeave();

дерево = компонент.toJSON();
ожидать(дерево).toMatchSnapshot();
});

Когда вы запускаете yarn test или jest , это создаст выходной файл, подобный этому:

__tests__/__snapshots__/Link.test.js.snap

  exports[`Ссылка меняет класс при наведении курсора 1`] = ` 
className="normal"
href="http://www.facebook.com"
onMouseEnter={[ Function]}
onMouseLeave={[Function]}>
Facebook

`;

exports[`Ссылка меняет класс при наведении 2`] = `
className="hovered"
href="http://www.facebook.com"
onMouseEnter={[Function]}
onMouseLeave= {[Функция]}>
Facebook

`;

exports[`Ссылка меняет класс при наведении курсора 3`] = `
className="normal"
href="http://www.facebook.com"
onMouseEnter={[Function]}
onMouseLeave={[Function]}>
Facebook

`;

При следующем запуске тестов визуализированный вывод будет сравниваться с ранее созданный моментальный снимок. Снимок должен быть зафиксирован вместе с изменениями кода. Если проверка моментального снимка не удалась, вам необходимо проверить, является ли это преднамеренным или непреднамеренным изменением. Если ожидается изменение, вы можете вызвать Jest с помощью jest -u для перезаписать существующий снимок.

Код для этого примера доступен на странице examples/snapshot.

Тестирование моментальных снимков с помощью Mocks, Enzyme и React 16​

Существует предостережение относительно тестирования моментальных снимков при использовании Enzyme и React 16+. Если вы смоделируете модуль, используя следующий стиль:

  jest.mock('../SomeDirectory/SomeComponent', () => 'SomeComponent'); 

Затем вы увидите предупреждения в консоли:

  Предупреждение:  использует HTML в верхнем регистре.Всегда используйте строчные HTML-теги в React. 


Предупреждение. Тег не распознается в этом браузере. Если вы хотели визуализировать компонент React, начните его имя с заглавной буквы.

React 16 выдает эти предупреждения из-за того, как он проверяет типы элементов, а фиктивный модуль не проходит эти проверки. Ваши варианты:

  1. Отображать как текст. Таким образом, вы не увидите реквизиты, переданные фиктивному компоненту в моментальном снимке, но это просто:
      шутка.mock('./SomeComponent', () => () => 'SomeComponent'); 
  2. Визуализировать как пользовательский элемент. «Пользовательские элементы» DOM ни на что не проверяются и не должны выдавать предупреждения. Они пишутся строчными буквами и имеют тире в названии.
      jest.mock('./Widget', () => () => ); 
  3. Использовать реактивный тестовый рендерер . Тестовый рендерер не заботится о типах элементов и с радостью примет, например. НекоторыйКомпонент .Вы можете проверять снимки с помощью тестового рендерера и отдельно проверять поведение компонентов с помощью Enzyme.
  4. Отключить предупреждения все вместе (должно быть сделано в вашем установочном файле jest):
      jest.mock('fbjs/lib/warning', () => require('fbjs/lib/emptyFunction')); 
    Обычно это не должно быть вашим выбором, так как полезные предупреждения могут быть потеряны. Однако в некоторых случаях, например, при тестировании реактивных компонентов мы отображаем реактивные теги в DOM, и многие предупреждения не имеют значения.Другой вариант — прокрутить console.warn и подавить определенные предупреждения.

Тестирование DOM

Если вы хотите утверждать и манипулировать визуализированными компонентами, вы можете использовать библиотеку тестирования реакции, Enzyme или TestUtils React. В следующих двух примерах используются библиотеки react-testing-library и Enzyme.

react-testing-library​

Вы должны запустить yarn add --dev @testing-library/react чтобы использовать react-testing-library.

Давайте реализуем флажок, который переключается между двумя метками:

CheckboxWithLabel.js

  импортировать React, {useState} из «реагировать»; 

const CheckboxWithLabel = ({labelOn, labelOff}) => {
const [isChecked, setIsChecked] = useState(false);

const onChange = () => {
setIsChecked(!isChecked);
};

return (

);
};

экспорт по умолчанию CheckboxWithLabel;

__tests__/CheckboxWithLabel-тест.js

  импортировать React из «реагировать»; 
импортировать {cleanup, fireEvent, render} из '@testing-library/react';
импортировать CheckboxWithLabel из '../CheckboxWithLabel';



после каждого (очистка);

it('CheckboxWithLabel меняет текст после клика', () => {
const {queryByLabelText, getByLabelText} = render(
,
);

expect (queryByLabelText(/off/i)).toBeTruthy();

fireEvent.клик(getByLabelText(/off/i));

ожидать(queryByLabelText(/on/i)).toBeTruthy();
});

Код для этого примера доступен в examples/react-testing-library.

Фермент

Вы должны запустить пряжа добавить --dev фермент для использования фермента. Если вы используете версию React ниже 15.5.0, вам также потребуется установить react-addons-test-utils .

Давайте перепишем тест сверху, используя Enzyme вместо react-testing-library.В этом примере мы используем поверхностный рендерер Enzyme.

__tests__/CheckboxWithLabel-test.js

  импортировать React из «реагировать»; 
импорт {мелкий} из 'фермента';
импортировать CheckboxWithLabel из '../CheckboxWithLabel';

test('CheckboxWithLabel меняет текст после клика', () => {

const checkbox = small();

expect(checkbox.text() ).toEqual('Выкл');

флажок.найти('ввод').simulate('изменить');

ожидать(checkbox.text()).toEqual('Вкл.');
});

Код для этого примера доступен на странице examples/enzyme.

Трансформеры, изготовленные по индивидуальному заказу Вместо

babel-jest вот пример использования @babel/core :

custom-transformer.js

  'use strict'; 

const {transform} = require('@babel/core');
const jestPreset = require('babel-preset-jest');

модуль.экспорт = {
процесс (источник, имя файла) {
константный результат = преобразование (источник, {
имя файла,
предустановки: [jestPreset],
});

вернуть результат || источник;
},
};

Не забудьте установить пакеты @babel/core и babel-preset-jest , чтобы этот пример работал.

Чтобы это работало с Jest, вам необходимо обновить конфигурацию Jest следующим образом: "transform": {"\\.js$": "path/to/custom-transformer.js"} .

Если вы хотите создать трансформер с поддержкой babel, вы также можете использовать babel-jest , чтобы составить его и передать свои пользовательские параметры конфигурации:

  const babelJest = require('babel -jest'); 

module.exports = babelJest.createTransformer({
предустановки: ['my-custom-preset'],
});

Подробнее см. в специальной документации.

Как преобразовать дизайн to React code

Время прочтения: 3 минуты

Anima помогает фронтенд-инженерам работать быстрее, автоматизируя рутинную работу.Команды могут преобразовать Sketch, Adobe XD или Figma в React code и сэкономить драгоценное время.

Шаг 1. Синхронизируйте дизайн

Для начала синхронизируйте свой дизайн с Anima или попросите дизайнера в вашей команде:

  • Получите подключаемый модуль Anima для вашего инструмента дизайна.
  • Нажмите  Синхронизация
  • Выбрать Открыть проект

Синхронизируйте свой дизайн из инструмента дизайна с Anima

После синхронизации > выберите «Открыть проект», чтобы получить код для вашего дизайна

Шаг 2: Кодовый режим — выберите любой компонент, получите код

В веб-приложении Anima перейдите в режим кода Anima, щелкнув значок «<>» .

Выберите любой элемент в дизайне, и код появится внизу панели кода, не забудьте выбрать Код React .

Подробнее о коде, который вы получите:

  • Качество кода: Код создан для разработчиков, поэтому он имеет высокое качество, что делает его удобным для разработчиков.
  • Макет: Мы оптимизировали код для макета CSS Flexbox. Мы объединили слои, сгруппировали или разгруппировали их таким образом, чтобы вы получили чистый фрагмент кода.
  • Styleguide: Мы извлекли повторяющиеся цвета, стили текста и другие свойства CSS в повторно используемые классы и переменные CSS.
  • Повторное использование кода React: Мы обнаруживаем элементы, повторяющиеся в структуре DOM, и автоматически извлекаем компоненты.
    Вы также можете пометить повторяющиеся элементы флажком « Пометить как компонент ».
  • Именование: Anima дает осмысленные имена слоям, которые генерируются автоматически, вы можете переименовать любой элемент вручную в правой панели Code-Mode.
  • Нет зависимостей: Внешние библиотеки не используются (кроме React в случае режима React)
  • Постоянное улучшение: Удобный для разработчиков код лежит в основе Anima. Наша команда разработчиков алгоритмов ежедневно совершенствует код.

Отзывы очень приветствуются по адресу [email protected]
Помогите нам построить будущее интерфейса.

Получение кода реакции

На нижней панели кода выберите код «React».

  • Настройки разработчика: Вы можете выбрать, хотите ли вы, чтобы ваш код использовал компоненты на основе классов или компоненты на основе функций.
  • Props: Чтобы ваш код имел такое же содержание, как и в дизайне, мы добавляем const props. Мы держим его как можно более чистым, а не портим ваш код.

Копирование или тестирование с помощью CodeSandbox

Ваш код компонента готов. Что дальше?
Отсюда вы продолжаете работу со своей IDE (VSCode, WebStorm и т. д.).)

  • Просто скопируйте JSX и CSS и вставьте в свою IDE.
  • Или перейдите к CodeSandbox , чтобы поиграть с ним заранее.

Если вы хотите изменить код, вы можете добавить свойства CSS к любому слою. Они называются переопределениями .

Переопределение кода в Anima

Почему бы не добавить переопределения в мою IDE?

Хотя вы можете сделать и то, и другое, Anima сохранит ваши переопределения. Мы применим его и к обновлениям дизайна.

Вложенные компоненты

При создании кода React Anima может создавать вложенные компоненты.
Например, вы можете увидеть компонент карты с изображением пользователя.

Есть 3 способа получить вложенный компонент:
  1. Дизайнер использовал символов в дизайне для обозначения многоразового компонента.
  2. Anima обнаружила повторяющихся элементов в DOM.
  3. Разработчик пометил слой с помощью флажка « Пометить как компонент ».

Что дальше

Качество кода — наш главный приоритет. Кроме того, скоро появится больше фреймворков кода, таких как Vue.js, Angular, SwiftUI и Flutter.

Как всегда, мы рады услышать ваши отзывы!

Присоединяйтесь к обсуждению или демонстрируйте свои проекты на Facebook , Twitter , Slack , Instagram . Или проголосуйте за новые функции на UserVoice .

Будьте креативны!
❤️ Команда аниматоров

React Tutorial: Learn React JS

Почему React популярен?

React изначально взлетел до небес 🚀 к славе, потому что он сделал извлечение и отображение данных в ваших приложениях JavaScript намного проще, чем раньше.Поскольку React — это «просто» библиотека, а не сложный фреймворк, его было и остается относительно легко освоить.

Кто использует React?

Facebook создал React для своих собственных продуктов, включая Facebook, Instagram и WhatsApp. React также используется Netflix, The New York Times, AirBnb, Discord, DropBox и многими другими крупными компаниями, о которых вы слышали.

Для чего используется React?

React используется во внешних веб-приложениях для обнаружения пользовательского ввода, извлечения данных и обновления пользовательского интерфейса данными.React делает все это с максимальной производительностью.

Что может React?

React в основном предоставляет вам структурированный способ создания повторно используемых компонентов пользовательского интерфейса, обработки пользовательского ввода, эффективного обновления компонентов пользовательского интерфейса и управления вашими данными.

Что плохого в React?

Вы обнаружите, что не существует предопределенного способа структурирования вашего приложения. Чтобы получить максимальную отдачу от React, вам нужно потратить немного больше времени на изучение и внедрение популярных и эффективных способов структурирования вашего приложения.

Могу ли я изучить React, не зная JavaScript?

React не полагается на какие-либо продвинутые, умопомрачительные функции JavaScript, но вы обязательно должны знать основы JavaScript, прежде чем пытаться изучать React; иначе вас ждут тяжелые времена.

React — это фреймворк или библиотека?

React — это библиотека — библиотека полезных функций и модулей, которые можно вставлять в приложение по мере необходимости. Это означает, что вы полностью контролируете свое приложение. Фреймворк по определению является необходимой поддержкой вашего приложения, на основе которого вы работаете и работаете.

Могу ли я использовать React с WordPress, Django, PHP и другими внутренними инструментами?

Да, абсолютно. В первые дни React, вероятно, лучше всего работал с Node.js, но в 2021 году это бесплатная игра. React — фантастический кандидат для любого бэкэнд-фреймворка.

Сколько платят разработчикам React?

Заработная плата может сильно варьироваться от 40 тысяч долларов до 100 тысяч долларов и выше. Это зависит от ваших способностей, отношения и местоположения!

Нужно ли мне пройти оригинальный курс Боба по React, прежде чем я пройду этот?

№Этот курс заменяет оригинальный курс Боба по React и включает в себя все необходимые современные функции React.

Что, если я наполовину прошел старый курс Боба?

Не волнуйтесь! Все, что вы уже узнали, все равно будет полезно, например, при работе с устаревшим кодом. Однако мы рекомендуем вам перейти на этот курс, чтобы изучить новейшие функции React.

Начало работы с React Redux

React Redux — это официальный уровень привязки React UI для Redux.Он позволяет вашим компонентам React считывать данные из хранилища Redux и отправлять действия в хранилище для обновления состояния.

Установка

React Redux 8.x требует React 16.8.3 или более поздней версии / React Native 0.59 или более поздней версии , чтобы использовать React Hooks.

Использование приложения Create React

Рекомендуемый способ запуска новых приложений с помощью React и Redux — использование официального шаблона Redux+JS или шаблона Redux+TS для создания приложения React, в котором используются преимущества Redux Toolkit и React Redux. интеграция с компонентами React.

  
npx create-react-app my-app --template redux


npx create-react-app my-app --template redux-typescript
Копировать

Существующее приложение React

Для использования React Redux с вашим приложением React, установите его как зависимость:

  
npm install react-redux


yarn add react-redux
Copy

Вам также необходимо установить Redux и настроить магазин Redux в вашем приложение.

React-Redux v8 написан на TypeScript, поэтому все типы включаются автоматически.

Обзор API

Provider

React Redux включает компонент , который делает хранилище Redux доступным для остальных приложений: из ‘react-dom/client’

import {Provider} из ‘react-redux’
import store из ‘./store’

import App from ‘./App’


const root = ReactDOM.createRoot(document .getElementById(‘root’))
корень.render(



)
Копировать

Хуки

React Redux предоставляет пару пользовательских хуков React, которые позволяют вашим компонентам React взаимодействовать с Магазин Редукс.

useSelector считывает значение из состояния хранилища и подписывается на обновления, а useDispatch возвращает метод диспетчеризации хранилища, позволяющий отправлять действия.

  import React from 'react' 
import {useSelector, useDispatch} from 'react-redux'
import {
decrement,
increment,
incrementByAmount,
incrementAsync,
selectCount,
} from './counterSlice'
импортировать стили из './Counter.module.css'

экспортировать function Counter() {
const count = useSelector(selectCount)
const dispatch = useDispatch()

return (




{}

)
}
Копировать

Learning React Redux​

Learn Modern Redux Livestream​

Сопровождающий Redux Марк Эриксон появился на «Learn », чтобы объяснить, как мы рекомендуем использовать Redux сегодня.Шоу включает в себя пример приложения с кодом в реальном времени, которое показывает, как использовать Redux Toolkit и хуки React-Redux с Typescript, а также новые API-интерфейсы для выборки данных RTK Query.

См. страницу заметок «Learn Modern Redux» для получения стенограммы и ссылок на исходный код примера приложения.

Помощь и обсуждение

Канал #redux сообщества Reactiflux Discord — наш официальный ресурс для всех вопросов, связанных с изучением и использованием Redux. Reactiflux — отличное место, где можно пообщаться, задать вопросы и узнать что-то новое — присоединяйтесь к нам!

Вы также можете задавать вопросы о Stack Overflow, используя тег #redux .

Переводы документов​

Начало работы с Apollo Client

Здравствуйте! Этот краткий учебник поможет вам начать работу с Apollo Client.

Для прохождения этого руководства мы рекомендуем вам:

Давайте установим необходимые пакеты:

 

1

npm install @apollo/client graphql

  • @apollo/client практически все, что вам нужно для настройки клиента Apollo. Он включает в себя кеш в памяти, управление локальным состоянием, обработку ошибок и уровень представления на основе React.
  • graphql : этот пакет предоставляет логику для разбора запросов GraphQL.

Теперь, когда у нас есть необходимые зависимости, давайте инициализируем экземпляр ApolloClient .

В index.js давайте сначала импортируем нужные нам символы из @apollo/client :

Затем мы инициализируем ApolloClient , передав его конструктору объект конфигурации с полями uri и кеша :

индекс.JS

 

1

Const Client = New Apolloclient ({

2

URI: 'https://48p1r2roz4.sse.codesandox.io',

3

кэш: новый inmemorycache ()

  • uri указывает URL-адрес нашего сервера GraphQL.
  • cache является экземпляром InMemoryCache , который клиент Apollo использует для кэширования результатов запроса после их получения.

Вот и все! получение данных.Теперь, прежде чем мы начнем использовать Apollo Client с React, давайте сначала попробуем отправить запрос с помощью простого JavaScript.

В том же файле index.js вызовите client.query() со строкой запроса (обернутой в литерал шаблона gql ), показанной ниже:

index.js

 

13

3 (результат => console.log(результат));

Запустите этот код, откройте консоль и проверьте объект результата. Вы должны увидеть свойство data с присоединенными rate , а также некоторые другие свойства, такие как load и networkStatus .Ницца!

Хотя непосредственное выполнение операций GraphQL может быть полезным, Apollo Client действительно сияет, когда он интегрирован с уровнем представления, таким как React. Вы можете привязать запросы к своему пользовательскому интерфейсу и автоматически обновлять его по мере получения новых данных.

Давайте посмотрим, как это работает!

Вы подключаете клиент Apollo к React с помощью компонента ApolloProvider . Подобно React Context.Provider , ApolloProvider обертывает ваше приложение React и помещает Apollo Client в контекст, что позволяет вам получить к нему доступ из любого места в дереве компонентов.

В index.js давайте обернем наше приложение React ApolloProvider . Мы предлагаем разместить ApolloProvider где-нибудь высоко в вашем приложении, над любым компонентом, которому может потребоваться доступ к данным GraphQL.

index.js

 

1

import React from 'React';

2

import { render } from 'react-dom';

11

const client = new ApolloClient({

12

uri: 'https://48p1r2roz4.sse.codesandbox.io',

13

кеш: new InMemoryCache()

19

Мое первое приложение Apollo 🚀

25

003> client=9{0}03>client=9 28

document.getElementById('root'),

После подключения ApolloProvider вы можете начать запрашивать данные с помощью useQuery . useQuery — это хук React, который передает данные GraphQL вашему пользовательскому интерфейсу.

Все еще в index.js , давайте сначала определим запрос, который мы хотим выполнить, упаковывая его в шаблон шаблона GQL :

index.1js

 

1

const Exchance_rates = GQL`

Далее Давайте определим компонент под названием Touchnangerates , который выполняет наш запрос GetExchange Крюк UseQuery :

index.js

1

1

Функциональные медуры () {

2

const {loading, ошибка, данные} = useQuery (EXCHANGE_RATES);

4

если (загрузка) вернуть

Загрузка...

;

5

if (ошибка) return

Error 🙁

;

7

return data.rates.map(({ валюта, курс }) => (

Всякий раз, когда этот компонент отображает , хук useQuery автоматически выполняет наш запрос и возвращает объект результата, содержащий loading , error и data свойства:

  • Apollo Client отслеживает для вас ошибки запроса и состояние загрузки, которые отражаются в загрузка свойств и ошибка .
  • Когда возвращается результат вашего запроса, он прикрепляется к свойству данных .

Наконец, мы добавим ExchangeRates в наше существующее дерево компонентов:

index.js

4

Мое первое приложение Apollo 🚀

5 9000s должен кратко увидеть индикатор загрузки, а затем список обменных курсов! Если нет, вы можете сравнить свой код с готовым приложением в CodeSandbox.

Поздравляем, вы только что создали свой первый компонент, который обрабатывает данные GraphQL из клиента Apollo! 🎉 Теперь вы можете попробовать создать больше компонентов, использующих useQuery , и поэкспериментировать с концепциями, которые вы только что изучили.

Теперь, когда вы научились извлекать данные с помощью Apollo Client, вы готовы углубиться в создание более сложных запросов и мутаций. После этого раздела мы рекомендуем перейти к:

  • Запросы: узнайте, как получать запросы с аргументами, и углубитесь в параметры конфигурации.Полный список параметров см. в справочнике по API для useQuery .
  • Мутации: узнайте, как обновлять данные с помощью мутаций и когда вам потребуется обновить кеш Apollo. Полный список параметров см. в справочнике по API для useMutation .
  • Клиентский API Apollo: иногда вам потребуется прямой доступ к клиенту, как мы это сделали в нашем простом примере JavaScript выше. Посетите справку по API, чтобы ознакомиться с полным списком параметров.

Реагировать | IntelliJ IDEA

React — это библиотека JavaScript для создания сложных интерактивных пользовательских интерфейсов из инкапсулированных компонентов.Узнайте больше о библиотеке на официальном сайте React.

IntelliJ IDEA интегрируется с React, обеспечивая помощь в настройке, редактировании, анализе, запуске, отладке и обслуживании ваших приложений.

Перед началом работы

  1. Убедитесь, что на вашем компьютере установлен Node.js.

  2. Убедитесь, что подключаемый модуль JavaScript и TypeScript включен в меню «Настройки/Настройки | Страница Плагины, вкладка Установленные. Дополнительные сведения см. в разделе Управление плагинами.

Создание нового приложения React

Рекомендуемый способ начать создание нового одностраничного приложения React — пакет create-react-app, который IntelliJ IDEA загружает и запускает для вас с помощью npx. В результате ваша среда разработки предварительно настроена для использования webpack, Babel, ESLint и других инструментов.

Конечно, вы по-прежнему можете загрузить приложение Create React самостоятельно или создать пустой проект IntelliJ IDEA и установить в него React.

Узнайте больше об установке React и создании приложений React на официальном сайте React.

Создание приложения React с помощью create-react-app

  1. Выберите в главном меню или нажмите кнопку «Новый проект» на экране приветствия.

  2. В диалоговом окне «Новый проект» выберите JavaScript на левой панели.

  3. На правой панели выберите React и нажмите Далее.

  4. На второй странице мастера укажите имя проекта и папку для его создания.

    В поле Node Interpreter укажите Node.js интерпретатор для использования. Выберите настроенный интерпретатор из списка или нажмите «Добавить», чтобы настроить новый.

    В списке приложений create-реагировать выберите npx create-реагировать-приложение.

    В качестве альтернативы, для npm версии 5.1 и более ранних, установите пакет create-react-app самостоятельно, запустив npm install --g create-react-app в Терминале Alt+F12 . При создании приложения выберите папку, в которой хранится пакет create-react-app .

  5. Дополнительно:

    Чтобы использовать TSX вместо JSX, установите флажок «Создать проект TypeScript». IntelliJ IDEA создаст файлы .tsx для вашего приложения и файл конфигурации tsconfig.json.

  6. Когда вы нажимаете «Готово», IntelliJ IDEA создает проект для React со всеми необходимыми файлами конфигурации и загружает необходимые зависимости. IntelliJ IDEA также создает конфигурации запуска npm и отладки JavaScript с настройками по умолчанию для запуска или отладки вашего приложения.

Либо откройте встроенный терминал и введите:

  1. npx create-react-app , чтобы создать приложение.

  2. cd <имя-приложения> для перехода в папку приложения.

  3. npm start для запуска сервера Node.js.

Установка React в пустой проект IntelliJ IDEA

В этом случае вам придется самостоятельно настроить конвейер сборки, как описано в разделе Создание приложения React ниже.Узнайте больше о добавлении React в проект на официальном сайте React.

Создать пустой проект IntelliJ IDEA

  1. Выберите в главном меню или нажмите кнопку «Новый проект» на экране приветствия.

  2. В диалоговом окне «Новый проект» выберите JavaScript на левой панели.

  3. В правой панели снова выберите JavaScript и нажмите Далее.

  4. На второй странице мастера укажите папку и имя проекта и нажмите Готово.

Установите React в пустой проект

  1. Откройте пустой проект, в котором вы будете использовать React.

  2. Во встроенном терминале ( Alt+F12 ) введите:

    npm install --save react react-dom

Начните разработку существующего приложения React

0 Продолжить , откройте его в IntelliJ IDEA и загрузите необходимые зависимости.

691"> Откройте исходные коды приложений, которые уже находятся на вашем компьютере.

Проверьте исходные коды приложений в системе управления версиями.Либо выберите или в главном меню.

обозначает систему контроля версий, с которой связан ваш текущий открытый проект.

  • В открывшемся диалоговом окне выберите из списка вашу систему контроля версий и укажите репозиторий, из которого следует извлечь исходные коды приложения. Дополнительные сведения см. в разделе Извлечение проекта (клона).

  • Загрузите зависимости

    • Нажмите «Выполнить установку npm» или «Выполнить установку пряжи» во всплывающем окне:

      Вы можете использовать npm, Yarn 1 или Yarn 2, подробности см. в разделе npm и Yarn.

    • Выберите «Выполнить установку npm» или «Выполнить установку пряжи» в контекстном меню package.json в редакторе или в окне инструментов «Проект».

    Безопасность проекта

    Когда вы открываете проект, созданный вне IntelliJ IDEA и импортированный в него, IntelliJ IDEA отображает диалоговое окно, в котором вы можете решить, как обращаться с этим проектом с незнакомым исходным кодом.

    Выберите один из следующих вариантов:

    • Предварительный просмотр в безопасном режиме: в этом случае IntelliJ IDEA открывает проект в «режиме предварительного просмотра», что означает, что вы можете просматривать исходные коды проекта, но не можете запускать задачи и сценарии или запускать/ отладить ваш проект.

      IntelliJ IDEA отображает уведомление в верхней части области редактора, и вы можете щелкнуть ссылку «Доверять проекту…» и загрузить свой проект в любое время.

    • Trust Project: в этом случае IntelliJ IDEA открывает и загружает проект. Это означает, что проект инициализирован, подключаемые модули проекта разрешены, зависимости добавлены и доступны все функции IntelliJ IDEA.

    • Не открывать: в этом случае IntelliJ IDEA не открывает проект.

    Узнайте больше о безопасности проекта.

    Проекты, созданные с экрана приветствия или с помощью, как описано в разделе, автоматически считаются доверенными.

    Завершение кода

    IntelliJ IDEA обеспечивает автодополнение кода для API React и JSX в коде JavaScript. Автодополнение кода работает для методов React, специфичных для React атрибутов, HTML-тегов и имен компонентов, событий React, свойств компонентов и т. д. Узнайте больше на официальном сайте React.

    Чтобы получить завершение кода для методов React и атрибутов, специфичных для React, вам необходимо иметь файл react.js где-нибудь в вашем проекте. Обычно библиотека уже находится в вашей папке node_modules.

    Методы, атрибуты и события Complete React

    По умолчанию всплывающее окно завершения кода отображается автоматически по мере ввода. Например:

    В тегах JSX IntelliJ IDEA предоставляет помощь в написании кода для атрибутов, специфичных для React, таких как className или classID , и атрибутов, не относящихся к DOM, таких как key или ref .Кроме того, автодополнение также работает для имен классов, определенных в файлах CSS проекта:

    Все события React, такие как onClick или onChange , также могут автоматически завершаться вместе с фигурными скобками  ={} или кавычками. "" .

    По умолчанию вставляются фигурные скобки. Вы можете сделать так, чтобы IntelliJ IDEA всегда добавляла кавычки или выбирала между кавычками или фигурными скобками в зависимости от типа из файла определения TypeScript (d.ts). Чтобы изменить настройку по умолчанию, откройте диалоговое окно «Настройки/Настройки» ( Ctrl+Alt+S ), перейдите и выберите соответствующий параметр в списке «Добавить для атрибутов JSX».

    Завершение также работает для выражений JavaScript внутри фигурных скобок. Это относится ко всем определенным вами методам и функциям:

    Полные HTML-теги и имена компонентов

    IntelliJ IDEA обеспечивает завершение кода для HTML-тегов и имен компонентов, которые вы определили внутри методов в JavaScript или внутри других компонентов:

    Завершение также работает для импортированных компонентов с синтаксисом в стиле ES6:

    Полные свойства компонента

    IntelliJ IDEA обеспечивает завершение кода для свойств компонентов, определенных с помощью propTypes , и разрешает их, чтобы вы могли быстро переходить или предварительно просматривать их определения:

    При автозаполнении имени компонента, IntelliJ IDEA автоматически добавляет все его необходимые свойства.Если некоторые из необходимых свойств отсутствуют при использовании компонента, IntelliJ IDEA предупредит вас об этом.

    Перенос атрибутов HTML в JSX

    Когда вы копируете фрагмент кода HTML с атрибутами класса или обработчиками событий и вставляете его в JSX, IntelliJ IDEA автоматически заменяет эти атрибуты атрибутами, специфичными для React ( className , onClick , onChange и т. д.)

    Это также работает для TSX:

    Чтобы скопировать HTML-код в JSX или TSX «как есть», используйте Paste Simple Ctrl+Alt+Shift+V или откройте Settings/ В диалоговом окне «Настройки» ( Ctrl+Alt+S ) перейдите к и снимите флажок «Преобразовывать атрибуты при вставке HTML в файлы JSX».

    Фрагменты кода React

    IntelliJ IDEA поставляется с набором из более чем 50 фрагментов кода, которые расширяются до различных операторов и блоков кода, часто используемых в приложениях React. В приведенном ниже примере показано, как можно использовать аббревиатуру rcjc для создания класса, определяющего новый компонент React:

    Создание конструкции кода React из фрагмента

    • Введите требуемую аббревиатуру в редакторе и нажмите Tab .

    • Нажмите Ctrl+J и выберите соответствующий фрагмент.Чтобы сузить поиск, начните вводить аббревиатуру, а затем выберите ее из списка вариантов.

    Подробнее см. в разделе «Интерактивные шаблоны».

    Просмотрите список всех доступных фрагментов React

    • В диалоговом окне «Настройки/Настройки» ( Ctrl+Alt+S ) нажмите Live Templates в разделе Editor, а затем разверните узел React.

    Emmet в JSX

    Благодаря IntelliJ IDEA вы можете использовать Emmet не только в HTML, но и в коде JSX, используя некоторые особенности React.Например, аббревиатура div.my-class расширяется в JSX до

    , но не до
    как в HTML это будет:

    Помимо базовой навигации, IntelliJ IDEA помогает переключаться между элементами кода, специфичными для React.

    • Чтобы перейти к объявлению метода или выражения JavaScript внутри фигурных скобок {} , выберите метод или выражение и нажмите Ctrl+B .

      Чтобы перейти к объявлению компонента, выберите имя компонента и нажмите Ctrl+B .

      В качестве альтернативы используйте Ctrl+щелчок : удерживая нажатой Ctrl , наведите указатель мыши на символ. Когда символ превращается в гиперссылку, его объявление будет отображаться во всплывающей подсказке. Щелкните гиперссылку, не отпуская клавишу, чтобы открыть декларацию в редакторе. Узнайте больше из объявления Go to и его типа.

    • Чтобы просмотреть определение компонента, нажмите Ctrl+Shift+I .

    • Для просмотра быстрой документации по компоненту нажмите Ctrl+Q . Узнайте больше из документации по JavaScript.

    • IntelliJ IDEA позволяет легко перемещаться по тегам JSX с помощью навигационных цепочек и цветного выделения дерева тегов в поле редактора. Дополнительные сведения см. в разделе Навигация с помощью хлебных крошек.

    Приложение Lint a React

    Все встроенные в IntelliJ IDEA средства проверки кода для JavaScript и HTML также работают в коде JSX.IntelliJ IDEA предупреждает вас о неиспользуемых переменных и функциях, отсутствующих закрывающих тегах, отсутствующих операторах и многом другом.

    Для некоторых проверок IntelliJ IDEA предоставляет быстрые исправления, например предлагает добавить отсутствующий метод. Чтобы просмотреть всплывающее окно быстрого исправления, нажмите Alt+Enter .

    Чтобы настроить список проверок, откройте диалоговое окно «Настройки/Настройки» ( Ctrl+Alt+S ), перейдите в «Редактор | Проверки и отключите проверки, которые вы не хотите видеть, или измените их уровни серьезности.Дополнительные сведения см. в разделах Отключение и подавление проверок и Изменение серьезности проверки.

    ESLint

    Помимо обеспечения встроенных проверок кода, IntelliJ IDEA также интегрируется с линтерами, такими как ESLint, для кода JSX. ESLint предлагает широкий спектр правил линтинга, которые также можно расширить с помощью плагинов. IntelliJ IDEA показывает предупреждения и ошибки, о которых сообщает ESLint, прямо в редакторе по мере ввода. С ESLint вы также можете использовать стандартный стиль JavaScript, а также анализировать код TypeScript.

    Подробнее см. ESLint.

    Чтобы ESLint правильно понимал синтаксис React JSX, вам нужен eslint-plugin-react. С помощью этого плагина вы будете предупреждены, например, если для компонента React не задано отображаемое имя или когда используются некоторые опасные свойства JSX:

    Если вы создали приложение с помощью create-react-app, ваша среда разработки уже настроен для использования ESLint.

    Установите и настройте ESLint в проекте React

    1. Во встроенном терминале () введите:

      npm install --save-dev eslint npm install --save-dev eslint-plugin-react

    2. Добавить файл конфигурации ESLint.eslintrc.* в свой проект. Это может быть файл .eslintrc, .eslintrc.json или .eslintrc.yaml или файл в другом поддерживаемом формате. Подробности см. на официальном сайте ESLint.

    3. В диалоговом окне «Настройки/Настройки» ( Ctrl+Alt+S ) перейдите в раздел «Языки и платформы» | JavaScript | Инструменты качества кода | ESLint и выберите автоматическую настройку ESLint. IntelliJ IDEA автоматически найдет ESLint в папке node_modules вашего проекта, а затем будет использовать конфигурацию по умолчанию из .eslintrc.* или из свойства eslintConfig в package.json.

      Можно также выбрать настройку ESLint вручную, чтобы использовать пользовательский пакет и конфигурацию ESLint.

      Дополнительные сведения см. в разделе Активация и настройка ESLint в IntelliJ IDEA.

    Пример структуры .eslintrc (ESLint 1.x с реактивным плагином)

    1. В объекте ecmaFeatures добавьте "jsx" = true . Здесь вы также можете указать дополнительные языковые функции, которые вы хотели бы использовать, например, классы ES6, модули и т. д.

    2. В объект plugins добавьте react .

    3. В объекте rules вы можете перечислить встроенные правила ESLint, которые вы хотели бы включить, а также правила, доступные через плагин реагирования.

      { "парсер": "бабель-эслинт", "окружение": { "браузер": правда, "es6": правда, "шутка": правда }, "правила": { "arrow-parens": ["ошибка", "при необходимости", { «ТребуетсяForBlockBody»: правда }], "реагировать/jsx-props-no-spreading": "выключено", "реагировать/jsx-sort-props": ["ошибка", { "reservedFirst": ["ключ"] }], "реагировать/требовать-по-умолчанию-реквизит": "выкл", "типы реакции/сортировки": "ошибка", "реакция/состояние-в-конструкторе": ["ошибка", "никогда"], "полуинтервал": "предупреждать" }, "переопределяет": [ { "файлы": [ "образец/**", "контрольная работа/**" ], "правила": { "импорт/без нерешенных": "выкл" } } ] }

    Узнайте больше о конфигурации плагина ESLint и react на официальном сайте ESLint.

    Рефакторинг кода в приложении React

    Помимо обычных рефакторингов IntelliJ IDEA, в приложении React вы также можете запустить Rename for React компоненты и использовать Extract Component для создания новых компонентов.

    Переименовать компонент

    Ниже приведен пример переименования компонента, который определен и используется только в одном файле:

    Таким же образом можно переименовать компоненты, определенные в одном файле, а затем импортировать в другой файл, используя именованный экспорт :

    1. Поместите курсор в имя компонента и нажмите Shift+F6 или выберите в главном меню или в контекстном меню.

    2. Укажите имя нового компонента в соответствии с соглашениями об именовании React.

    Переименовать значение состояния

    Когда вы переименовываете значение состояния, IntelliJ IDEA предлагает переименовать соответствующий сеттер (функцию, которая обновляет это значение состояния в хуке React useState).

    1. Поместите курсор в имя значения состояния и нажмите Shift+F6 или выберите в главном меню или в контекстном меню.

    2. Укажите имя нового значения и нажмите Введите .Фокус переместится к установщику, где предлагается новое имя значения. Нажмите Введите , чтобы принять предложение.

    Вы можете создать новый компонент React, извлекая код JSX из метода рендеринга существующего компонента. Новый компонент может быть определен как функция или как класс, см. Компоненты функций и классов на официальном сайте React.

    1. Выберите код, который вы хотите извлечь, и выберите его в контекстном меню.

      Либо перейдите в главное меню или нажмите Ctrl+Alt+Shift+T и выберите «Извлечь компонент» во всплывающем окне.

    2. В открывшемся диалоговом окне укажите имя нового компонента и его тип. По умолчанию создается функциональный компонент. Если вы хотите определить новый компонент как класс, выберите Класс.

    3. Нажмите OK. Новый компонент будет определен рядом с существующим и использован в нем.

    4. Дополнительно: используйте рефакторинг Move Symbol, чтобы переместить новый компонент и все необходимые импорты в отдельный файл.

    5. Дополнительно: измените шаблоны кода, которые IntelliJ IDEA использует для новых компонентов.В диалоговом окне «Настройки/настройки» ( Ctrl+Alt+S ) перейдите к , откройте вкладку «Код» и при необходимости обновите шаблоны, используя язык шаблонов Apache Velocity.

    Преобразование функции в компонент класса

    При рефакторинге Convert to Class Component IntelliJ IDEA создает класс ES6 с именем функции, которую вы хотите преобразовать. Этот класс расширяет React .Component и содержит метод render() , в котором тело функции перемещается.Узнайте больше на официальном сайте React.

    • Поместите курсор в любом месте внутри функции для преобразования и выберите из главного меню или из контекстного меню.

    • Либо нажмите Ctrl+Alt+Shift+T и выберите во всплывающем окне Преобразовать в компонент класса.

    Преобразование класса в функциональный компонент

    При рефакторинге Convert to Functional Component IntelliJ IDEA создает функцию с именем класса, который вы хотите преобразовать, и перемещает содержимое метода render() в тело функции.

    • Поместите курсор в любом месте внутри класса для преобразования и выберите из главного меню или из контекстного меню.

    • Или нажмите Ctrl+Alt+Shift+T и выберите во всплывающем окне Преобразовать в функциональный компонент.

    Деструктуризация в приложении React

    Деструктуризация позволяет легко распаковывать значения из массивов и объектов в переменные. Эта функциональность имеет очень лаконичный синтаксис, который часто используется, когда вам нужно передать данные в ваше приложение.

    При работе с компонентами класса React рассмотрите возможность использования действия Introduce object/array destructingintion. Узнайте больше о деструктуризации в JavaScript.

    Запуск и отладка приложения React

    Рекомендуемый способ начать создание нового одностраничного приложения React — создать приложение React. Только в этом случае ваша среда разработки предварительно настроена на использование webpack и Babel. В противном случае вам необходимо сначала настроить конвейер сборки.

    Для приложений, созданных с помощью Create React App, как описано выше, IntelliJ IDEA создает две конфигурации запуска/отладки с настройками по умолчанию:

    • Конфигурация npm с именем по умолчанию npm start.Эта конфигурация запускает команду npm start , которая запускает сервер разработки и запускает ваше приложение в режиме разработки.

    • Конфигурация отладки JavaScript с именем по умолчанию Приложение отладки. Эта конфигурация запускает сеанс отладки.

    Запуск приложения React

    Только для приложений, созданных с помощью create-react-app .

    1. Выберите конфигурацию запуска npm из списка на панели инструментов и щелкните рядом со списком.

      Либо запустите npm start в Терминале Alt+F12 или дважды щелкните задачу start в окне инструмента npm ().

    2. Подождите, пока приложение будет скомпилировано и сервер разработки Webpack будет готов.

      В окне инструмента «Выполнить» или в терминале отображается URL-адрес, по которому запущено ваше приложение. По умолчанию это http://localhost:3000/. Щелкните эту ссылку, чтобы просмотреть приложение.

    Благодаря замене модуля Webpack Hot, когда сервер разработки работает, ваше приложение автоматически перезагружается, как только вы изменяете любой из исходных файлов и сохраняете обновления.

    Отладка приложения React

    1. Установите точки останова в коде.

    2. Запустите приложение в режиме разработки, как описано выше, и подождите, пока приложение скомпилируется и сервер разработки будет готов.

    3. Выберите из списка автоматически сгенерированную конфигурацию приложения отладки и щелкните рядом со списком.

    Вы можете начать сеанс отладки разными способами в зависимости от того, где работает ваше приложение.

    • Если ваше приложение работает на localhost , вы также можете запустить отладчик из встроенного терминала или из окна инструмента «Выполнить». См. раздел Отладка приложений, работающих на локальном хосте, ниже.

    • Для отладки приложений, работающих с пользовательскими URL-адресами, создайте конфигурацию типа Отладка JavaScript и укажите URL-адрес, по которому фактически выполняется ваше приложение. См. раздел Отладка приложений, работающих на настраиваемых URL-адресах, ниже.

      Этот общий рабочий процесс также работает для приложений, работающих на localhost , и для приложений, созданных с помощью приложения create-реагировать.

    Отладка приложений, работающих на локальном хосте

    1. Установите точки останова в коде.

    2. Запустите приложение в режиме разработки, как описано выше, и подождите, пока приложение будет скомпилировано и сервер разработки Webpack будет готов.

    3. В окне инструмента «Выполнить» или в терминале отображается URL-адрес, по которому запущено ваше приложение, по умолчанию это http://localhost:3000/. Удерживая Ctrl+Shift , щелкните эту URL-ссылку.IntelliJ IDEA запускает сеанс отладки с автоматически созданной конфигурацией приложения отладки типа Отладка JavaScript.

    Отладка приложений, работающих на пользовательских URL-адресах

    1. Установите точки останова в коде.

    2. Запустите приложение в режиме разработки, как описано выше, и подождите, пока приложение будет скомпилировано и сервер разработки Webpack будет готов.

    3. В окне инструмента «Выполнить» или в терминале отображается URL-адрес, по которому запущено ваше приложение.Скопируйте этот URL-адрес, вы позже укажете его в конфигурации отладки. Чтобы просмотреть свое приложение, просто нажмите на ссылку.

    4. Создайте конфигурацию отладки JavaScript. Для этого перейдите в главное меню, нажмите и выберите «Отладка JavaScript» из списка. В диалоговом окне Run/Debug Configuration: JavaScript Debug вставьте сохраненный URL-адрес в поле URL-адрес и сохраните конфигурацию.

    5. Чтобы запустить только что созданную конфигурацию, выберите ее из списка конфигураций и нажмите рядом со списком.

    Когда сработает первая точка останова, переключитесь в окно инструмента отладки и действуйте как обычно: пройдитесь по программе, остановите и возобновите выполнение программы, проверьте ее при приостановке, исследуйте стек вызовов и переменные, установите часы, оцените переменные , просмотреть фактический HTML DOM и т. д.

    Сборка приложения React

    Если вы установили React в существующий проект IntelliJ IDEA, необходимо настроить процесс сборки. Узнайте о различных способах настройки конвейера сборки для вашего приложения React на официальном сайте React.

    Если вы создали приложение с помощью create-react-app, ваша среда разработки уже предварительно настроена для использования Webpack и Babel.

    Тестирование приложения React

    Вы можете запускать и отлаживать тесты Jest в приложениях React, созданных с помощью create-react-app. Прежде чем начать, убедитесь, что пакет react-scripts добавлен в объект зависимостей вашего package.json.

    Вы можете запускать и отлаживать тесты Jest прямо из редактора, из окна инструмента Project или с помощью конфигурации запуска/отладки. Подробности см. в Jest.

    Запуск теста из редактора

    Создание конфигурации запуска/отладки Jest

    1. Откройте диалоговое окно «Конфигурация запуска/отладки» (в главном меню), щелкните на левой панели и выберите Jest из списка. Откроется диалоговое окно «Конфигурация запуска/отладки: Jest».

      В качестве альтернативы выберите тестовый файл в окне инструментов «Проект» и выберите «Создать <имя файла>» в контекстном меню.

    2. Укажите используемый интерпретатор узла и рабочий каталог приложения.По умолчанию в поле Рабочий каталог отображается корневая папка проекта. Чтобы изменить этот предустановленный параметр, укажите путь к нужной папке или выберите ранее использовавшуюся папку из списка.

    3. В поле Пакет Jest укажите путь к пакету react-scripts.

    4. В поле параметров Jest введите --env=jsdom .

    Запустить тесты

    1. Выберите конфигурацию запуска/отладки Jest из списка на главной панели инструментов и нажмите  справа от списка.

    2. Тестовый сервер запускается автоматически без каких-либо действий с вашей стороны. Просмотрите и проанализируйте сообщения от тестового сервера в окне инструмента «Выполнить».

    3. Отслеживайте выполнение теста и анализируйте результаты теста на вкладке «Выполнение теста» в окне инструмента «Выполнение». Подробности см. в разделе Исследование результатов теста.

    Отладочные тесты

    1. Выберите конфигурацию запуска/отладки Jest из списка на главной панели инструментов и нажмите  справа от списка.

    2. В открывшемся окне средства отладки действуйте, как обычно: пройдите тесты, остановите и возобновите выполнение теста, проверьте приостановленный тест, запустите фрагменты кода JavaScript в консоли и т.