Арест Навального. Как реагируют немецкие политики? | Анализ событий в политической жизни и обществе Германии | DW
Немецкие политики быстро и резко отреагировали на задержание Алексея Навального по прилете в Москву. Общее мнение в лаконичном, требовательном и, пожалуй, не нуждающемся в переводе твите выразила лидер «зеленой» фракции в Европейском парламенте, депутат из Германии Ска Келлер (Ska Keller): «Free Nawalny immediately!»
«Free Nawalny immediately!»
Ска Келлер
Ее коллега в бундестаге, председатель парламентской фракции партии «Союз-90″/»зеленые» Катрин Гёринг-Эккардт (Katrin Göring-Eckardt) написала в Twitter следующее: «Кремль вновь ясно демонстрирует, как он обходится с оппозиционерами и всеми способами запугивает своих критиков». «Кремль и Владимир Путин хотят во что бы то ни стало изолировать Алексея Навального в год выборов в Государственную думу», — добавил эксперт этой фракции по странам Восточной Европы Мануэль Саррацин (Manuel Sarrazin).
Из всех представленных в бундестаге партий немецкие «зеленые», пожалуй, наиболее критично относятся к действиям российских властей и политике, которую проводит президент Владимир Путин. Они, в частности, единственная партия, которая с самого начала — по политическим и экологическим соображениям — выступала против сооружения газопровода «Северный поток — 2» и требовала не просто заморозить строительные работы в ответ на отравление Алексея Навального, что, предлагали, например, немецкие либералы и некоторые консерваторы, но и вовсе отказаться от этого проекта.
«Государство должно защищать Навального, а не арестовывать»
Жестко отреагировали на задержание Навального и представители правящих в Германии партий. Так, глава МИД Германии, социал-демократ Хайко Мас (Heiko Maas), который в прошлом занимал и пост министра юстиции, призвал власти РФ незамедлительно освободить Навального. «После выздоровления Алексей Навальный по собственной воле и сознательно вернулся в Россию, которую он считает своей личной и политической родиной. То, что российские власти задержали его сразу по прибытии, абсолютно необъяснимо», — заявил Мас утром в понедельник, 18 января.
Олаф Шольц
Требование своего товарища по партии поддержал министр финансов и вице-канцлер ФРГ Олаф Шольц (Olaf Scholz). В ток-шоу, организованном самой массовой в Германии газетой Bild, он назвал Навального «смелым человеком», с которым обращаются несправедливо. «На него совершено покушение, и государство должно его защищать, а не арестовывать», — сказал Шольц, уверенный в том, что Навальный имеет право оставаться на свободе и баллотироваться на политические посты.
И даже внешнеполитический эксперт фракции посткоммунистической Левой партии, которая традиционно снисходительно, если не сказать, одобрительно относится к действиям российских властей, выступил в этот раз с весьма резкой критикой. «Пусть Навальный жестко нападает на политические структуры в России, недопустимо так обращаться с человеком — после попытки его убийства и после его лечения в Германии», — заявил Грегор Гизи (Gregor Gysi). Он отметил, что Навальный в настоящий момент не опасается нового покушения на себя. «Надеюсь, он прав», — заключил Гизи.
Официальный Берлин требует освободить Навального
О том, какое значение придает задержанию Навального канцлер Германии Ангела Меркель (Angela Merkel), в свое время навестившая российского оппозиционера в больничной палате клиники «Шарите», где его лечили после отравления, свидетельствует один примечательный факт.
Все последние недели и даже месяцы регулярные — три раза в неделю — правительственные пресс-конференции неизменно начинались с главной для Германии темы: эпидемии коронавируса. Тем более ожидаемой эта тема в качестве первой была и в этот понедельник, 18 января: по понедельникам в ведомстве федерального канцлера проходит заседание так называемого «коронавирусного кабмина», то есть, совещание профильных министров.
Штеффен Зайберт
Но несмотря даже на то, что на вторник, 19 января, назначена внеочередная встреча канцлера с земельными премьерами, на которой речь пойдет о дальнейшем ужесточении карантинных мер в Германии, официальный представитель канцлера Штеффен Зайберт (Steffen Seibert) счел необходимым в первую очередь выступить с заявлением по Навальному.
«Федеральное правительство осуждает арест Навального непосредственно после его добровольного возвращения на свою родину», — сказал Зайберт и напомнил, что приговор, условия которого он якобы нарушил, Европейский суд по правам человека в 2017 году признал произвольным и необоснованным и присудил выплатить братьям Навальным компенсации. Поэтому обвинять Навального в нарушении правил условного срока, который он получил на основании противозаконного приговора, официальный Берлин считает нарушением принципов правового государства.
Кроме того, добавил представитель канцлера, всем известно, что после покушения на оппозиционера в России с помощью боевого химического отравляющего вещества Навальный находился на лечении в Германии, поэтому в данной ситуации совершенно несостоятельно упрекать его в нарушении правил условного срока. «Российские власти арестовали жертву покушения, а не тех, кто его совершил с применением химического оружия», — констатировал Штеффен Зайберт.
Ангела Меркель и Владимир Путин во время встречи в Париже в 2018 году
Отвечая на вопрос DW, собирается ли Ангела Меркель, имеющая отлаженный канал связи с российским президентом, позвонить Путину и похлопотать за Навального, он ответил так: «О предстоящих телефонных разговорах канцлера мы не сообщаем, только об уже состоявшихся».
На подходе новые санкции против России?
На пресс-конференции Зайберта спрашивали и о возможном ужесточении антироссийских санкций, введенных за нарушение Россией международного права, а именно, конвенции, запрещающей применять химическое оружие. Зайберт сказал, что на этот счет намечены консультации с европейскими партнерами Германии, запланировано и их совместное заявление на тему ареста Навального и обращения с ним российских властей.
Но что касается газопровода «Северный поток — 2», строительство которого некоторые немецкие политики предлагают заморозить в ответ на отравление Навального, то позиция правительства ФРГ, сказал Зайберт, осталась неизменной: проект, мол, коммерческий, экономический, и к истории с Навальным никакого отношения не имеет. Вместе с тем он однозначно признал, что «поведение России в случае с Навальным, как и другие события последнего времени, отягощают двусторонние отношения».
Смотрите также:
Путин и Навальный в карикатурах Елкина
Интервью Навального The New York Times: рупор свободы из колонии
The New York Times опубликовала большое интервью с российским политиком Алексеем Навальным, находящимся в колонии. Заглушить оппозицию в России так просто не получится, констатирует Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Что еще Путин может приготовить для Навального?
Алексей Навальный рассказал о психологическом давлении на него в колонии. Например, по словам политика, который держит голодовку, в его отряде жарили курицу. Сергей Елкин знает, по чьему рецепту.
Путин и Навальный в карикатурах Елкина
Путин и Навальный: у каждого свой режим
Политик Алексей Навальный жалуется на недопуск к нему врачей и лишение сна в колонии. На сочувствие президента РФ Владимира Путина он вряд ли может рассчитывать. Сергей Елкин знает почему.
Путин и Навальный в карикатурах Елкина
Ответ Мосгорсуда на решение ЕСПЧ по Навальному: Путин одобряет?
Мосгорсуд отказался выполнить требование Европейского суда по правам человека (ЕСПЧ) и освободить политика Алексея Навального. У Сергея Елкина нет сомнений в независимости российской судебной системы.
Путин и Навальный в карикатурах Елкина
Навальный и «список Путина»: шпаргалка для президента
Маниакальное нежелание Владимира Путина называть Алексея Навального по имени и фамилии уже давно причта во языцех. Карикатурист Сергей Елкин заглянул в президентскую шпаргалку.
Путин и Навальный в карикатурах Елкина
Чем Навальный оскорбил ветерана: все дело в шляпе
Оклеветал ли Алексей Навальный ветерана Второй мировой войны, зависит от ловкости рук судьи, уверен Сергей Елкин. Судя по всему, в запаснике у суда есть все, кроме права политика на свое мнение.
Путин и Навальный в карикатурах Елкина
Флешмобы с фонариками за Навального: что считать успехом?
Флешмобы с фонариками сторонников Навального не были многочисленными. Но они прошли во многих городах. Власти обвиняли участников чуть ли в экстремизме. Против кого, знает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Акция с фонариками за Навального. Февральская революция?
Акция 14 февраля, инициированная сторонниками Навального, вызвала самые абсурдные обвинения власти в адрес тех, кто хочет принять в ней участие. Так и «Аврора» может проснуться, считает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Что нужно знать о жизни Навального в Германии
В ответ на фильм Навального о «дворце Путина» российское ТВ показало дом, в котором жил политик в Германии после отравления на родине. Что такое роскошь, увидел не только Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Дело о клевете на ветерана: один суд над Навальным хорошо, а два — лучше?
Политика Алексея Навального доставили из тюрьмы на очередной суд — по делу о клевете на ветерана войны. Замысел Владимира Путина в отношении оппозиционера разгадал Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Ответ Кремля на акции за Навального: не согласен — получи дубинкой!
Полиция и ОМОН жестко разгоняют акции в поддержку политика Алексея Навального, приговоренного к тюремному сроку. Российские власти не умеют реагировать на критику иначе, считает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Суд над Навальным: в чьих руках приговор политику?
Мосгорсуд решает, заменить ли Алексею Навальному условный срок по делу «Ив Роше» на реальный. Но едва ли последнее слово будет за беспристрастной Фемидой, считает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Путин в бассейне дворца: все фотожаба, кроме баттерфляя?
Владимир Путин заявил, что плавал баттерфляем, но не в бассейне дворца под Геленджиком, и назвал показанное в фильме Навального монтажом. Каких санкций теперь ждать, знает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
«Забрало запотело», или Реакция Кремля на акции в поддержку Навального
Омоновец, ударивший женщину на митинге 23 января, извинился, сказав, что у него запотело забрало. Хотя в момент удара оно было поднято. Кто еще в открытую попирает права граждан, знает Сергей Елкин.
Путин и Навальный в карикатурах Елкина
TikTok за Навального: как полиция готовится к акциям 23 января
Пользователи TikTok активно записывают короткие ролики в поддержку арестованного политика Алексея Навального. Сергей Елкин о реакции российских силовиков на такую форму протеста.
Путин и Навальный в карикатурах Елкина
Возвращение Навального: был берлинский пациент — стал химкинский арестант
Оппозиционного политика Алексея Навального задержали сразу по возвращении в Россию. Теперь суд приговорил его к 30 суткам ареста. Кому это нужно, знает карикатурист Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Откуда Навальному угрожают реальным сроком
ФСИН грозит Алексею Навальному реальным сроком вместо условного по делу «Ив Роше». Карикатурист Сергей Елкин о том, в каких условиях рождаются такие угрозы.
Путин и Навальный в карикатурах Елкина
Трусы Навального, или Чем оказался подарок ФСБ для Путина
Один из вероятных отравителей Навального рассказал политику по телефону, что «Новичок» был нанесен на его трусы. Сергей Елкин о том, чем стал для властей этот предмет гардероба.
Путин и Навальный в карикатурах Елкина
Путин о Навальном, или Никто не хочет стать «берлинским пациентом»
Владимир Путин на большой пресс-конференции заявил, что спецслужбы РФ не были заинтересованы в отравлении Алексея Навального. Сергей Елкин уверен: президент знает, о чем говорит.
Путин и Навальный в карикатурах Елкина
Отравление Навального: куда ведут следы Таякина и других?
Корреспондентка CNN попыталась поговорить с одним из предполагаемых отравителей Навального Олегом Таякиным, придя к нему домой. Сергей Елкин о том, к кому нужно было обратиться журналистке.
Путин и Навальный в карикатурах Елкина
Вся правда Кремля об отравлении Навального, или Хором вразнобой
Глава МИД России Сергей Лавров предположил, что Навального могли отравить «Новичком» уже при транспортировке в Германию. Предыдущие версии Кремля вспомнил Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Отравление Навального и санкции против России: трудности перевода?
Отравление Навального и угроза вмешательства Москвы в белорусский кризис — повод для дискуссии о новых санкциях ЕС в отношении Кремля. Сергей Елкин о том, кто не хочет понять очевидное.
Путин и Навальный в карикатурах Елкина
Меркель потребовала расследовать отравление Навального: что ответит Путин?
Канцлер Германии Ангела Меркель потребовала от Кремля найти виновных в отравлении Алексея Навального. Что ответит ей Владимир Путин, знает карикатурист Сергей Елкин.
Путин и Навальный в карикатурах Елкина
Почему Навального не могут отправить в Германию
Российские врачи утверждают, что находящийся в омской больнице Алексей Навальный не транспортабелен. Они против его отправки в Германию. Сергей Елкин знает, кто не дает разрешение.
Путин и Навальный в карикатурах Елкина
Кто может стоять за предполагаемым отравлением Навального?
Алексей Навальный впал в кому спустя некоторое время после того, как выпил чашку чая. Его окружение говорит об отравлении. Карикатурист Сергей Елкин развил эту версию.
Путин и Навальный в карикатурах Елкина
Задержание Навального, или При чем тут Воронеж
Оппозиционный политик Алексей Навальный был арестован после выхода из спецприемника, где он провел 30 дней. Карикатурист Сергей Елкин узнал о настоящих причинах задержания.
Путин и Навальный в карикатурах Елкина
Арест Навального как выход из любой ситуации
Алексей Навальный в очередной раз арестован на 30 суток. Сам он связывает это с запланированными на 9 сентября акциями против повышения пенсионного возраста. Сергей Елкин о предыстории ареста.
Путин и Навальный в карикатурах Елкина
Задержания сторонников Навального: невзирая на возраст
В России были задержаны десятки сторонников лидера оппозиции Алексея Навального, среди них — несовершеннолетние, а также случайные прохожие. Карикатурист Сергей Елкин об экцессах властей.
Автор: Наталья Позднякова
как реагируют банки — Frank RG
Банки начали повышать ставки по вкладам
Россия. Москва. Горожанин у здания Центрального Банка РФ на Неглинной улице. Алексей Зотов/ТАССЦБ повысил ключевую ставку сразу на 100 базисных пунктов – до 6,5%, сообщила пресс-служба регулятора. Это самое резкое повышение ставки с кризиса 2014 года.
Детали. ЦБ в своем релизе указал, что во 2 квартале российская экономика достигла допандемического уровня, а спрос растет быстрее, чем возможности наращивать выпуск.
«C учетом высоких инфляционных ожиданий это значимо сместило баланс рисков для инфляции в сторону проинфляционных и может привести к более продолжительному отклонению инфляции вверх от цели. Принятое решение по ключевой ставке направлено на ограничение этого риска и возвращение инфляции к 4%», — говорится в релизе.
Решение повысить ставку сразу на 1 п.п. направлено на то, чтобы ограничить инфляционные риски, отмечает регулятор. ЦБ повысил прогноз по инфляции: по итогам года она составит 5,7-6,2%, в 2022 году снизится до 4-4,5% и в дальнейшем будет около 4%. Ранее ЦБ ожидал, что инфляция в 2021 году составит 5,4-5,8%, а в 2022 — 4-4,2%.
Инфляция может ускоряться из-за того, что граждане станут меньше сберегать, пишет ЦБ. «Дополнительное повышательное давление на цены могут оказывать сохраняющиеся затруднения в производственных и логистических цепочках, а также структурные изменения на рынке труда в результате влияния пандемии», — говорится в релизе. Цены на мировых рынках стали меньше влиять на инфляцию, так как в июне-июле начали снижаться, отметил ЦБ.
Следующее заседание совета директоров ЦБ по ставке состоится 10 сентября.
Банки повышают ставки.
- С 23 июля ставки по вкладам повысил Почта Банк — на 0,25-1,5 п.п., максимальная ставка выросла до 7% (по депозиту «Горячий сезон»).
- Газпромбанк увеличил доходность сразу по нескольким вкладам на 0,4-1 п.п., максимальная ставка составила 7% по вкладу «Газпромбанк-Перспектива».
- Россельхозбанк поднял ставки на 0,5-1,1 п.п. до 6,5% по вкладу «Доходный».
- МКБ повысил ставки по нескольким депозитам на 0,2-0,6 п.п. до максимальной ставки 7,8% по вкладу «Всё включено» (тарифный план «Максимальный доход»).
- Ренессанс Кредит поднял ставки на 0,5-0,75 п.п., максимальная ставка составила 7% по вкладу «Ренессанс Специальный».
Индекс FRG100 за последнюю неделю вырос на 366 пунктов до 4,9254%.
Аналитика по теме
Ежедневный дайджест основных новостей
Банковские и финансовые новости дня из деловых и специализированных медиа.
› Мнения экспертов. Из всех доступных вариантов для решения по ставке Банк России избрал наиболее «ястребиный» — повышение ключевой ставки на 100 б.п. в сопровождении жесткой риторики, комментирует решение ЦБ директор офиса рыночных исследований и стратегии Росбанка Евгений Кошелев. «Готовность рассматривать целесообразность дальнейшего повышения ставки на последующих заседаниях представляет лишь одну сторону медали. Вторая и более отчетливая сторона – повышение прогноза среднего уровня ключевой ставки с 26 июля до конца года на уровне 6,5-7,1%», — добавляет эксперт.Агрессивное повышение ключевой ставки не остановило резкое замедление темпов инфляции на протяжении двух недель и замедление темпа роста обрабатывающей промышленности по отношению к аналогичному месяцу 2019 года с 11,4% в марте до 4,3% в июне, отмечает старший экономист аналитического управления «Открытие Research» Максим Петроневич.
Ключевая ставка до конца года может вырасти еще на 25-50 базисных пунктов, сказал Frank Media главный экономист рейтингового агентства «Эксперт РА» Антон Табах. «На следующем заседании в сентябре регулятор сохранит ставку, а ее дальнейшее движение будет зависеть уже от сохранения инфляционной динамики», — считает эксперт. Инфляция, по мнению Табаха, будет двигаться по нижней планке обновленного прогноза ЦБ и по итогам года составит, скорее, 5,7%.
На рынке ОФЗ, по его словам, повышение ставки уже было заложено в цену. «Валютный рынок на изменения реагирует скорее положительно. Ставки по кредитам в банках будут расти медленно, а по депозитам — еще медленнее», — заключает эксперт.
Контекст. Повышение ставки на 1 п.п. стало самым резким с кризиса 2014 года. В декабре 2014 года ЦБ поднял ставку с 9,5% до 17%, после чего на рынках началась паника.
Более половины (19 из 37) аналитиков, опрошенных агентством Bloomberg, ожидали, что Банк России 23 июля повысит ключевую ставку на 100 базисных пунктов, тогда как 17 прогнозировали повышение на 50 или 75 базисных пунктов, а один голосовал за сохранение ставки на уровне 5,5%.
Эксперты Национального рейтингового агентства (НРА) прогнозировали повышение ставки с 5,5% до уровня 6-6,25%. Агентство также ожидает, что в сентябре Банк России повысит ключевую ставку на 0,25 б.п., а к концу года ставка может превысить 7%.
Зачем вам об этом знать. ЦБ резко повысил ставку из-за ускорения инфляции. Это приведет к тому, что банки будут поднимать ставки по вкладам и кредитам.
Подпишитесь на наш телеграм-канал @frank_rg, чтобы оперативно получать данные о ситуации в банках и экономике. Не пропустите, когда начнется!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Скандал в благородном семействе: как реагируют «соседи» на прослушку США при помощи Дании
Штаб-квартира Агентства Национальной безопасности США
© EPA/JIM LO SCALZOСкандал в благородном семействе — думаю, именно так можно назвать реакцию ряда европейских стран на известие о том, что Агентство национальной безопасности США (АНБ) осуществляло в 2013 году слежку за ведущими политиками и высокопоставленными чиновниками соседних с Данией стран. Используя для этого датско-американскую разведывательную систему XKeyscore на базе Службы военной разведки Дании в проливе Эресунн, предназначенную для наблюдения за объектами в ближайших государствах.
Но ничто не ново под луной. И как тут не вспомнить известное начало романа Льва Толстого «Анна Каренина». «Все смешалось в доме Облонских. Жена узнала, что муж был в связи с бывшею в их доме француженкой-гувернанткой, и объявила мужу, что не может жить с ним в одном доме. <…> На третий день после ссоры князь Степан Аркадьич Облонский — Стива, как его звали в свете, — в обычный час, то есть в восемь часов утра, проснулся не в спальне жены, а в своем кабинете, на сафьянном диване…»
Конечно же, реакция европейских политиков была более сдержанной (кто-то лишь пробурчал — мол, «все за всеми всегда следят»), чем у супруги Облонского, а степень негодования разнилась от человека к человеку, но в целом все — как у Льва Николаевича.
На эту тему
Член шведского Риксдага от Левой партии Енс Хольм так и заявил: «Мы должны знать, за кем именно велась слежка, когда и каким образом. Это крайне возмутительно. Я чертовски зол!» Впрочем, его реакция объясняется не только заботой о государственных границах, но и тем, что он сам может быть первостепенным кандидатом на особый интерес со стороны американских спецслужб, поскольку активно занимается правозащитной тематикой и контактирует с оппозиционными политиками в разных странах мира, в том числе в Палестине и Колумбии. Кроме того, он был одним из тех, кто выдвинул Эдварда Сноудена на Нобелевскую премию мира и приезжал в Москву для встречи со знаменитым информатором.
О самом факте американской слежки с датского острова стало известно еще в ноябре прошлого года. Однако тогда речь шла о концерне SAAB, флагмане шведского военно-промышленного комплекса (ВПК), и датском оборонном концерне Terma. Что касается SAAB, то здесь особый интерес для АНБ представляла программа многоцелевого истребителя четвертого поколения Gripen. Как следовало из сообщений СМИ, другими объектами для сбора информации были нидерландский, норвежский, французский и немецкий трафики данных и политические институты Дании. Но вот теперь все перешло, что называется, на личности.
Комментируя нынешний скандал, министр иностранных дел Анн Линде сказала, что «шпионаж дружественных стран за шведскими политиками, чиновниками и бизнесменами является недопустимым». «Я хочу отметить, что мы пока не знаем и не имеем всех фактов. Но в общем и целом, естественно, это отразится [на доверии]», — пояснила министр в интервью Шведскому радио.
Нордический характер или предсказуемостьНа эту тему
Впрочем, реакцию Швеции и Норвегии, которые потребовали прозрачности, нельзя назвать бурной. С одной стороны, это можно считать проявлением нордического характера, а с другой — подспудным ожиданием от лидера объединенного Запада в лице США чего-то подобного. Рассказывая о скандале, шведская газета Dagens Nyheter дала весьма говорящий заголовок материалу — «У военных политиков не получается даже изобразить удивление».
«Для меня все это неудивительно. Я убежден, что масштаб намного больше, чем мы догадываемся. Полагаю, что АНБ тралит и стремится собрать [информации] как можно больше», — приводятся в статье слова спикера партии «Либералы» по вопросам военной политики Аллана Видмана.
Его коллега из партии «Христианские демократы» Микаэль Оскарссон в интервью газете отметил: «Скажем так: перед заседаниями комитета по обороне, где обсуждается секретная информация, мы должны оставлять свои телефоны».
В самом же материале уточняется: «В большой политике друзей не бывает. И даже соседи и союзники руководствуются собственными интересами. Это показал последний шпионский скандал». То есть ничего личного — чисто бизнес, поскольку здесь присутствует и чисто экономическая составляющая (высокотехнологичная продукция ВПК государств-союзников, за сбыт которой на мировых рынках идет жесткая конкуренция). И тут уж «дружба дружбой, а табачок — врозь». Хотя, конечно же, знать о том, что думают и говорят политики и другие высокопоставленные лица, тоже небезынтересно.
Министр обороны Швеции Петер Хультквист, по его словам, не имеет обыкновения «ругать страны, с которыми он сотрудничает». Однако некоторые эксперты сочли, что сейчас его реакция была более сильной, чем обычно.
Обида на соседаОсобо, конечно, обидным представляется поведение братской страны-соседа Дании — ведь она практически позволила АНБ шпионить за шведскими политиками и чиновниками, а узнав о ведущейся слежке, ее правительство не сочло нужным поставить об этом в известность руководство Швеции. Как сообщается, у датчан информация появилась еще пять лет назад, когда глава военной разведки провел секретное расследование под кодовым названием Dunhammer («Камыш»), о котором — благодаря осведомителю — стало известно министру обороны Тине Брамсен. В результате чего целый ряд руководителей разведслужбы был отстранен от занимаемых должностей.
На эту тему
В самой Швеции существует «Закон о Военной радиослужбе» (ВРС), согласно которому сбор информации путем «траления» интернет-трафика и прослушивания осуществляется только по поручению правительства, уполномоченных ведомств и особого суда. Из чего, в свою очередь, следует, что свободное осуществление подобного сбора информации на территории королевства представителями других стран недопустимо по определению.
С другой стороны, как пишет все та же Dagens Nyheter, сейчас «на столе у министра обороны лежит заключение в отношении международного сотрудничества ВРС. В нем, в частности, говорится о том, насколько важно для ВРС ее взаимодействие со спецслужбами других стран, а также о том, что ВРС может понадобиться осуществление наблюдения в интересах иностранных партнеров».
Сам Петер Хультквист однозначно заявил, что тесное сотрудничество Швеции и США в военной сфере продолжится, а имевшее место «вопиющее нарушение этикета» никак не отразится на общем политическом курсе.
Отмечу, что в последние годы Швеция значительно усилила военное сотрудничество с США. Были подписаны декларации в этой области, регулярно организуются совместные военные учения, цель которых — отработка взаимодействия в случае регионального конфликта. Не стоит упускать из вида, что в них участвуют и американские части спецназначения, которые знакомятся с природными условиями Швеции.
Прочитавшие хотя бы первую часть романа «Анна Каренина» знают, что, несмотря на бурную реакцию жены на интрижку Облонского, завершилось все примирением с супругой: Долли поплакала-поплакала да и простила.
Как реагирует Запад на происходящее в Афганистане? – Коммерсантъ FM – Коммерсантъ
Власти Афганистана подтвердили захват Кандагара талибами. Бои за этот город начались еще в начале августа. Местный аэропорт подвергся ракетному удару — часть взлетно-посадочной полосы была повреждена, все рейсы были отменены. Талибы рассматривают Кандагар как важную стратегическую точку, откуда можно по шоссе добраться до столицы страны Кабула. О том, что происходит в Афганистане, и как на это реагируют западные страны — в обзоре иностранной прессы на “Ъ FM”.
США и Великобритания направили в Кабул дополнительное военное подкрепление, чтобы обеспечить необходимые условия для вывоза своих дипломатов, служащих солдат, граждан своих стран, а также 1000 афганцев, с которыми они работали, пишет The Guardian. Такая срочная отправка войск в регион подает афганцам сигнал, что западные лидеры считают падение Кабула вероятным и неминуемым.
Накануне члены движения «Талибан» (запрещенной в России организации) в течение нескольких часов захватили несколько важных городов Афганистана — Герат, Газни и Калайи-Нау. BBC со ссылкой на источники сообщает, что южный город Лашкар-Гах, столица провинции Гильменд, также был взят под контроль боевиками. В результате теперь «Талибан» контролирует большую часть северного Афганистана и около трети региональных столиц страны. Редактор BBC по Южной Азии отмечает, что скорость продвижения талибов шокирует даже опытных военных аналитиков.
Захваченный в четверг город Газни — большое приобретение для боевиков, ведь он находится на автомагистрали, которая ведет в Кабул. А взятый под контроль Кандагар — историческое место возникновения и бывшая цитадель «Талибана». Этот город считается стратегически важным — там есть международный аэропорт, сельскохозяйственная и промышленная продукция. Кроме того, это один из главных торговых центров Афганистана.
CNN отмечает, что более 60 тыс. семей, бежавших из захваченных городов страны, теперь живут на улицах Кабула. Это семьи с маленькими детьми в возрасте от двух до четырех лет. В ООН заявили, что с начала 2021 года из-за конфликта почти 400 тыс. афганцев стали беженцами. А более 1 тыс. мирных жителей за последний месяц были убиты, уточняет BBC.
Глобально для джихадистского движения победа террористической группировки «Талибан» в Афганистане будет такой же значительной, как победы «Исламского государства» (ИГ, организация запрещена в России) в Ираке и Сирии, пишет автор CNN. Вероятно, когда большая часть территорий перейдет талибам, туда хлынут тысячи других боевиков. Уже сейчас в Афганистане находятся представители запрещенных в России «Аль-Каиды» и ИГ, заявил афганский посол в ООН.
Нужно ли было выводить из региона американские войска? Конечно, нет, отмечает издание. В Ираке до сих пор остаются около 2,5 тыс. американских военных. Но почему президент США Байден выбрал один путь в Ираке и другой в Афганистане — неясно. Очевидно то, что сейчас под наблюдением Байдена в афганской республике разворачивается предсказуемая катастрофа.
«Самое главное — зачем люди читают и как реагируют на прочитанное» • Arzamas
Профессор Оксфорда — о наслаждении от открытия, научной моде, роли личного темперамента в исследовании и русском пути в науке
Разговор Кирилл Головастиков
— Вы читаете очень разные курсы и работаете над очень разными темами — от истории идеологии до истории эмоций. Как вы сами для себя определяете, чем вы занимаетесь?
— Мне представляется, что я занимаюсь широко понимаемой историей культуры, просто сферы в ней меня интересуют разные. Лет двадцать назад меня очень интересовала история государственной идеологии: ведь я жил в эпоху революции. Но я понимал идеологию в соответствии с культурной антропологией Клиффорда Гирца и Роберта Дарнтона: как систему метафор, нарративов, риторических фигур.
В моих работах этого цикла значительную роль играли и люди, производившие идеологические смыслы: мне было важно показать, как они конструировали эти метафоры и как жили с ними. Так у меня появились сквозные герои: императоры, государственные деятели, поэты. Это Василий Петров, Жуковский, митрополит Филарет, Сперанский, Александр I и многие другие.
А потом мне стало менее интересно заниматься государством: оказалось, что интереснее думать собственно о людях прошлого, их переживаниях, их внутреннем мире. История эмоций — бурно развивающаяся, но все-таки молодая дисциплина, ей всего-то лет двадцать. Я свой исследовательский проект в ее терминах не формулирую: мне просто интересен внутренний мир человека в историко-культурной перспективе.
— В этой большой истории культуры литература только маленькая часть?
— Да. Вообще я филолог по образованию, начинал с вполне традиционного литературоведения, моя первая статья, еще студенческая, была про сюжет и жанр «Горя от ума», моя научная степень — доктор филологических наук. Но в какой-то момент я заинтересовался историей восприятия и бытования литературы — Rezeptionsgeschichte, если по-немецки. Мне показалось интересным не только то, как литература устроена, но и то, какое впечатление она производит на людей.
Но когда я в эту дисциплину пришел, то увидел, что история восприятия пишется как история посмертной критики или как история изданий — я сам в этом ключе написал небольшую книжку об истории восприятия поэзии Державина. Но при таком подходе ты остаешься в мире профессиональных критиков и публикаторов и не касаешься того, что литература делает с людьми. А это, по-моему, самое главное — зачем люди читают и как реагируют на прочитанное.
От литературы как от основного предмета я далеко не ушел, просто поменял фокус и подход. Я и идеологию интерпретировал через литературные призмы, и мой подход к внутреннему миру человека тоже в значительной степени литературоцентричен. Меня литература интересует как зона, где кристаллизуются и возникают фундаментальные символические модели, которые реализуются в государственной политике, в человеческой жизни, в эмоциях и так далее. То есть для меня важно место литературы в культуре и ее воздействие на культуру. А литературоцентричность подхода связана с эпохой, которой я больше всего занимаюсь: Россией конца XVIII — начала XIX века.
— Значит ли это, что для других эпох наиболее представительной будет не литература, а другие средства?
— Вы правы. В той эпохе, которой я занимаюсь, роль литературы очень велика. Вероятно, то же самое можно сказать о культуре начала XX века. А в какие-то эпохи работа по формированию символических моделей поведения, чувств и ценностей происходит в других креативных зонах. Даже на рубеже XVIII–XIX веков роль литературы велика только в жизни образованных сословий, а ниже по социальной лестнице уже надо будет искать другие источники символических моделей. Поэтому я занимаюсь в основном элитами, а не рядовым горожанином или тем более крестьянином.
— Для вас принципиально изучать культуру через призму литературы, или сама цель — понять культуру — настолько важна, что вы могли бы ради нее перейти к другому медиуму?
— Мне кажется, что изучать историю культуры надо через разные медиумы. Но, понимаете, в определенном возрасте медведь уже с трудом учится новым трюкам: я чему-то научился за жизнь, наладил исследовательскую оптику. Могу ли я с другим материалом работать? Наверное, могу, я не считаю себя совершенно безнадежным. Но этому надо отдельно обучаться, нужно овладеть соответствующей историей и теорией, методиками исследования. Ничего непостижного уму, как говорил Пушкин, в этом нет — но надо осваивать новую дисциплину.
— У вас поменялось бы отношение к объекту, если бы вашим предметом был не Александр I, читающий Жуковского, а крестьянин, разглядывающий лубок, или современный горожанин, смотрящий телик?
— Конечно, к своей сфере привыкаешь. Но я никак не считаю, что современный человек, смотрящий телик, или крестьянин, смотрящий лубок или ходящий в церковь, менее достоин изучения, чем Александр I и Жуковский. Одна из моих недавних работ — о дворянской девушке, убежавшей из дому, ушедшей в монастырь и ставшей настоятельницей. Я вышел на этот удивительный кейс из своей литературной проблематики: героиня была из культурной среды, которой я занимался. Но когда мне потребовалось раскрыть мотивы ее ухода в монастырь, оказалось, что она следовала не только литературным моделям, но в большей степени житийным и литургическим. И потребовалось работать с разными источниками, не только литературными, это в порядке вещей.
— Создается ощущение, что в ваших работах всегда есть выход на современность, это всегда что-то большее, чем просто академическая наука. Вам важна связь вашей работы с сегодняшним днем?
— Конечно, важна. Я думаю, для всякого человека важна культура, в которой он живет. Ты либо слышишь то, что Мандельштам называл шумом времени, и как-то отзываешься, резонируешь с ним, либо ты его не слышишь. И от этого зависит, является ли то, что ты пишешь, живым и интересным. Просто у кого-то связь с современностью хорошо отрефлектирована, а у кого-то менее отрефлектирована.
Есть другая замечательная позиция — железное упрямство. Это позиция часового, стоящего на страже брошенной крепости. Такой ученый говорит: никто этим не занимается, никому это не интересно, никто этого и читать не будет никогда, потому что на это нет культурного спроса, — а я все равно буду это делать. Это не моя позиция, но я уважаю ее. Это жест символический и культурно продуктивный. Иногда он может сработать, потому что смыслы, как говорил Бахтин, возвращаются. Но этот жест тоже пропитан духом современности, но только в модусе отвращения.
Можно изучать индонезийский этикет XIV века и видеть в нем отражение современных ритуалов, сложный диалог с настоящим, прообразы насущных проблем. А можно сказать: вся эта гадость, в которой вы живете, меня не интересует, я сосредоточусь на чем-то исключительно прекрасном. Это вполне работающая символическая модель, но меня она не привлекает.
— У вас есть какая-то метафора, чтобы описать, как вы своей научной работой связываете прошлое с современностью?
— Я бы выбрал оптическую метафору. Я, как говорил Маяковский, отращиваю глаз. Я смотрю кругом себя, и мое зрение настраивается на сегодняшнюю жизнь. А потом этим настроенным глазом смотрю, скажем, на эпоху Екатерины Великой и вижу там то, что мне кажется интересным, волнующим, важным. Проблема в том, что это можно делать очень прямолинейно и грубо. Можно просто искать аллюзии и подобия и навязывать сегодняшний день прошлому. Мне хотелось бы верить, что я не ищу в прошлом то, что похоже на сегодняшний день, — я ищу специфическую проблематику эпохи, которой я занимаюсь, но вижу ее взглядом человека, живущего в ином времени. Насколько я правильно чувствую сегодняшний день, это другой вопрос. Я, как и все, старею, и это становится не так просто. Мне уже трудно улавливать язык и проблематику современного молодого человека.
Обложка книги Андрея Зорина «Кормя двуглавого орла… Литература и государственная идеология в России в последней трети XVIII — первой трети XIX века». 2004 год © nlobooks.ru— К слову о прямолинейных исследованиях. Очевидно, что чем прямолинейнее методика прикладывает актуальную повестку к историческому материалу, тем она моднее. Как вы относитесь к
gender studies, к политической, например левацкой, критике истории? Это интересно или, наоборот, профанация науки?— Интересный вопрос. Борису Эйхенбауму принадлежит замечательная фраза по поводу представителей социологического литературоведения, которые в 1920-е годы нападали на формалистов. Он сказал: «Да разве ж я против социологии в литературоведении? Пусть только это будет хорошо».
Gender studies, на мой взгляд, исключительно важная и продуктивная область. Главная исходная посылка людей, которые этим занимаются, — то, что история культуры на протяжении сотен лет с момента своего возникновения говорила только о мужчине. Это справедливая критика, и, отталкиваясь от нее, можно сделать очень многое. У меня нет никакого отторжения по отношению к гендерным исследованиям, напротив, они мне очень интересны.
Другое дело, что множество работ, выполненных в этой методике, вульгарны, прямолинейны и направлены на решение сиюминутных политических задач. А грубая конъюнктура — вещь неинтересная при любой исследовательской методологии. И даже не из-за моральных претензий, которые к ней могут возникать, а потому что она непродуктивна. Она лишает тебя возможности понимания, потому что во всяком предмете, которым ты занимаешься, ты начинаешь видеть в прошлом только самого себя, свои задачи и цели. То есть ты не только ставишь вопросы из сегодняшнего дня, что естественно, но и подгоняешь к ним ответы.
Как-то я услышал от Карло Гинзбурга замечательный отзыв на чьи-то деконструктивистские исследования. Гинзбург сказал, что они ему не нравятся — «not because I believe they’re dead wrong, but because I find them deeply boring» «Не потому, что они кажутся мне совершенно ошибочными, а потому, что кажутся ужасно скучными» (англ.)..
Я не понимаю, зачем заниматься XVIII веком, XX веком, средневековой Индией или Древним Римом, чтобы все время долдонить одно и то же, причем продиктованное конъюнктурой сегодняшнего дня. К самим гендерным исследованиям моя критика не имеет никакого отношения. Женщина в Древнем Риме и специфика женской роли в средневековой Индии — очень интересный предмет и, безусловно, недоисследованный, создатели gender studies здесь полностью правы.
— Вы сейчас вышли на разговор о научной этике. У Гаспарова есть известная статья «Филология как нравственность», в которой он говорит, что наука нравственна, потому что учит исследователя не зазнаваться. Что вы сами по этому поводу думаете?
— Вы знаете, Михаил Леонович на протяжении многих десятилетий моей жизни был для меня одним из главных авторитетов, ориентиром и камертоном. Не могу сказать, что он был для меня ролевой моделью. Бывает, что видишь выдающегося человека — и хочется быть на него похожим; а потом видишь другого выдающегося человека и понимаешь, что хоть из кожи вон лезь, но похожим на него быть не сможешь. Для меня Михаил Леонович относился ко второй категории.
Его завет не зазнаваться очень важен, но я не вполне понимаю, чем нравственность филолога отличается от нравственности слесаря или агронома. Надо хорошо делать свою работу и не гнаться ни за политической конъюнктурой, ни за количеством публикаций.
— Вы писали и о русском XVIII веке, и о XX веке: от одописца Петрова до Лидии Гинзбург и Дмитрия Александровича Пригова. Вы можете сказать, чем уникальна русская культура? Или это случайность и вы могли бы заниматься любой другой?
— Конечно, мог бы, все культуры невероятно интересны. Я могу рассказать вам, как я стал русистом, это простая история. Я учился в советском университете, в МГУ, на английском отделении. Я англист по образованию, в дипломе у меня написано «филолог, учитель английского языка». И в какой-то момент на старших курсах я пришел к выводу, что занимаюсь бессмысленной деятельностью, поскольку никогда в Англию не попаду, с источниками работать не смогу, прочувствовать культуру не удастся. Значит, мне остается только популяризация того, что делают мои западные коллеги, на советской почве. Популяризация мировых достижений культуры — это очень важная работа, я считаю ее жизненно необходимой и знаю высококлассных профессионалов, которые занимаются ею. Но мне самому это тогда казалось неинтересным, не хотелось выступать в роли адаптатора и популяризатора.
«Хотелось быть, если говорить по-английски,
on the cutting edge, а по-русски —
на передовой линии»
Хотелось быть, если говорить по-английски, on the cutting edge, а по-русски — на передовой линии. И учитывая специфику советского социума, у меня не было никакого другого выхода, кроме как заниматься русской культурой. Более того, следующий мой выбор тоже был продиктован советской реальностью: я пошел в ту область, где меньше всего идеологического давления. Было ясно, что надо уходить от современности, XX век — это был вообще ужас, но и XIX тоже: Ленин много высказывался по поводу тех или иных авторов. А зайти слишком далеко вглубь истории, в древнерусскую культуру нельзя без сосредоточения на религиозной проблематике, которая тоже была подозрительна. Так что мое решение заниматься XVIII веком было продиктовано возможностью относительно свободно высказываться.
Юрий Михайлович Лотман © www.opentextnn.ruКроме того, для занятий русской культурой той эпохи были такие поразительные гуру и role models, как Юрий Михайлович Лотман и Натан Яковлевич Эйдельман. Напрямую я не учился ни у того, ни у другого, но они были для меня образцами. Но в основном мое решение заниматься русской культурой было продиктовано конкретными житейскими обстоятельствами. В конце концов, в Англии я оказался в значительной степени благодаря тому, что тогда давно принимал решение, исходя из мысли, что никогда туда не попаду. Вряд ли бы мне предложили место в Оксфорде в качестве англиста.
— Вы много рассказываете о науке через личные обстоятельства. Как вы сами оцениваете роль своего темперамента в том, чем вы занимаетесь?
— Ой, как очень большую. И я считаю, что я не один такой — мы все такие. Конечно, есть особая научная логика: ты видишь проблему, углубляешься в нее, по мере углубления видишь другую… Но, например, я хорошо знаю, что мне становится скучно долго заниматься одним и тем же. Когда работаешь над темой, по ходу работы всегда возникают очень интересные периферийные сюжеты, которые в эту конкретную работу не укладываются, и ты фиксируешь их себе на будущее: вот я закончу, а потом этим займусь. У меня не было ни одного случая в жизни, чтобы я к чему-нибудь такому потом вернулся. Закончил — значит, закончил, все, надо делать что-то другое. Поскольку ничего не бывает даром, то я убежден, что широта достигается за счет глубины: люди, личный темперамент которых позволяет им непрерывно бурить одну и ту же скважину, могут уйти на невероятную глубину, на которую мне пробиться не удается.
— Что в науке вы любите больше всего — я имею в виду эмоционально? Постановку задачи, момент открытия? Брать широко или возможность заниматься самым интересным? Вы любите оставлять конкурентов позади или производить впечатление на конференциях?..
— Произвести впечатление, конечно, хочется: люди вообще любят, когда их хвалят. К тому же, хотя я 30 лет выступаю с лекциями и с докладами на конференциях, я не научился делать это, не нервничая. Добиться здесь успеха приятно, но все это сопутствующие эффекты.
«Самое главное удовольствие — это удовольствие от решения интеллектуальной проблемы,
которая тебе не давалась»
Самое главное удовольствие — это удовольствие от решения интеллектуальной проблемы, которая тебе не давалась. Механизм научного исследования, по моему опыту, таков: начинаешь с того, что тебе кажется, что ты в основном понимаешь проблему, а по мере углубления видишь, что на самом деле ничего не понимаешь. Ты сидишь над материалом и долбишь, долбишь — ничего не понятно, и непонимание нарастает. Потом возникает чувство, что где-то рядом просвет. А потом — щелк! Знаете, когда собираешь какую-то конструкцию, если деталь встает со щелчком, значит, она на своем месте.
И после этого стопор сменяется обвалом. Материал начинает сыпаться на тебя просто лавинами с гор, только успевай подставлять ведра. Буквально в каждом источнике ты видишь подтверждение того, что еще вчера тебе не было очевидно. Это какое-то неописуемое чувство удовлетворения, и это самое главное удовольствие, которое может дать наука, по крайней мере мне. А все остальное, что вы перечислили, — все это тоже хорошо.
— Вы немножко говорили об учителях и об образцах. Вы чувствуете себя встроенным в какую-то интеллектуальную традицию, и если да, то в какую?
Натан Яковлевич Эйдельман. Ноябрь 1989 года © Фотография пользователя andreygoncharov / photo.qip.ru— Когда я был молодым, главным авторитетом в жизни для меня был Лотман. Я не учился в Тарту, я ездил туда несколько раз, ходил на лекции Лотмана в Москве, мне несколько раз доводилось с ним разговаривать, но мое знакомство с ним было очень поверхностным. Но и человечески, и научно он был для меня образцом. Я был ближе знаком и больше общался с Эйдельманом. Это люди из среды, занимавшейся золотым веком русской культуры.
Где-то с середины 1990-х годов меня привлекла другая школа. Это традиция интерпретативной антропологии, созданная Клиффордом Гирцем и опыт применения этих подходов к истории, связанный прежде всего с именем Роберта Дарнтона. Кстати, эта традиция очень близка лотмановской, только не генетически, а интеллектуально. Я сравнивал Гирца и Лотмана в специальной статье и как-то обсуждал ее с Гирцем. Тот сказал, что ему сравнение показалось убедительным, а Лотман — очень интересным, хотя сам он до того Лотмана никогда не читал. С Лотманом эту же тему мне, к сожалению, обсудить не удалось: он уже умер к тому времени.
— Вы свободно переключались между разными традициями — интеллектуально близкими, но географически далекими. Как вам кажется, русский путь в науке только по случайным, историческим обстоятельствам оказался отделен от мировой традиции?
— Ну конечно, а по каким же еще? В России гуманитарная наука начала развиваться немного поздно, во второй половине XIX века, но она быстро достигла феноменального уровня. Русские историки начала XX века никому в мире не уступали — и это еще очень осторожная формулировка. А потом произошло то, что произошло. Искусственная изоляция от мира, чудовищный идеологический гнет, террор. И ведь, несмотря на это, что-то все равно выжило и состоялось — а могло бы быть еще хуже.
— То есть никакого специфического русского пути в науке нет? И в идеальной ситуации, если бы не было советской власти, все национальные научные традиции шли бы одним путем?
— Это простой вопрос. Конечно, нет. Но в вашей формулировке прозвучало, что все бы шли в одном направлении — нет, не шли бы. Наука устроена так, что все идут в разных направлениях, поэтому она богата, интересна, разнообразна. Научные школы возникают в разных местах, по человеку видно, где он учился, и так рождаются традиции. Ученики Канта и, допустим, ученики Шеллинга — это совсем разные философские школы. Хотя и те и другие немцы.
Но, конечно, нет какой-то русской науки, отдельной от восточной или западной, это бред сумасшедшего. Наука есть единое поле: просто есть языки, на которых люди пишут, есть школы, есть традиции, есть учителя. Один из моих немецких коллег как-то мне объяснял, что философом является только тот, кто учился у кого-нибудь, кто учился у кого-нибудь, кто учился у кого-нибудь, кто когда-нибудь учился у Канта или Гегеля. Якобы это такая апостольская преемственность, и можно только так, все остальные — не философы. Ну я все-таки так пессимистически на это не смотрю.
— Вы говорили, что по своему темпераменту не можете долго заниматься одной темой. Покидаете ли вы аналогично и границы науки, чтобы применить свои способности в других сферах деятельности — организаторской, политической?..
— Конечно. Правда, как раз политикой я никогда не занимался, опять-таки просто в силу темперамента. Я понимаю природу аттрактивности политической деятельности, но она не для меня.
Прежде всего, я всю жизнь преподаю. И я считаю, что для ученого это очень важно. Мы говорили про настройку оптики, так вот, без общения с молодыми людьми настроить оптику на современность очень трудно. Я люблю преподавать, я начал это делать в 1980-х годах и с тех пор не останавливался. Мне довелось преподавать в четырех странах и почти в двух десятках университетов, и у меня сложились какие-то представления о том, как должен быть устроен университетский мир, и я рад, что у меня есть возможность реализовывать их в России вместе с замечательными коллегами. Кроме того, я писал сценарии для документальных фильмов, вел колонки, где высказывался по текущим вопросам, переводил и прочее.
— Вы работаете в разных сферах, объединяя их какими-то едиными, важными для вас принципами. Как вам кажется, позиция публичного интеллектуала, экспертно присутствующего в самых разных сферах жизни, — это актуальная позиция? Современный интеллектуал еще потенциально влиятельная фигура или уже маргинальная?
— Вот это трудный вопрос. Только что был простой, а этот трудный. У Кушнера по другому поводу есть строчка: «Сказал бы я честно: не знаю, — да мне доверяют, увы». Возможно, нужно быть лучше настроенным на оптику современности, чтобы сказать точно.
Я не исключаю, что позиция публичного интеллектуала маргинализируется и, возможно, даже уходит с исторической сцены. Но это не факт. Может быть, она просто трансформируется. Сейчас появилось новое амплуа — блогер. Это стало знаком профессиональной принадлежности. Не исключено, что это и есть та социальная роль, которую раньше занимали интеллектуалы. Ты делишься с человечеством своими соображениями, и, если ты известный блогер, значит, достаточная часть человечества считает нужным следить за тем, что ты говоришь по тем или иным поводам. Твоя профессиональная работа — высказываться по разным вопросам, это вполне себе дело публичного интеллектуала. Но, конечно, это социальное амплуа мутирует, изменяется — а возможно, и исчезает. Но ведь и я не навеки рассчитан, я не собираюсь жить вечно, поэтому уж очень большой паники у меня по этому поводу нет.
— Что вас интересует в современной культуре?
— Это тоже трудный вопрос. Я из той среды, для которой очень много значила поэзия; в свое время я много писал о современной поэзии, общался и дружил с определенным кругом поэтов. Я был страшно взволнован и увлечен, когда в 1980-е годы познакомился с Рубинштейном, Кибировым, Приговым. Это важнейшее событие в моей жизни, и я очень ценю эту поэтическую линию. Однако затем от критики как от сферы деятельности мне пришлось отказаться, потому что в какой-то день я вдруг заметил, что мне не нравятся поэты моложе меня. Ну не может же такого быть, что действительно нет талантливых молодых поэтов. Значит, в моей оптике что-то заклинило, я не умею видеть их и мне надо покинуть эту сферу, потому что я потерял право о ней высказываться. В этом смысле я не могу сказать, что очень хорошо знаком с современной культурой, мне трудно быть в нее погруженным, поскольку я живу на две страны.
— Как вы оцениваете свою жизнь на две страны? Как естественную и, может быть, даже необходимую ситуацию для современного человека, а уж тем более для ученого? Или вас так жизнь забросила, как волны Одиссея?
— Как естественную — да, как необходимую — нет. Когда-то я так жить хотел, мне это нравилось. Первоначально, конечно, мои многочисленные поездки в Америку были связаны с необходимостью зарабатывать деньги, но они невероятно расширили мое представление о мире, о науке, об университете. Потом мне посчастливилось получить работу в Оксфорде, одном из лучших и старейших университетов в мире, это большая честь и жизненная удача. Я мог бы жить все время там, а сюда время от времени приезжать, например, в архивы. Но мне интереснее продолжать участвовать в здешней жизни. Жить на две страны — интересный и продуктивный, но не очень простой способ существования.
— Что он дает для профессиональной оптики?
— Он дает двойной взгляд. Когда ты все время живешь в одной среде, какие-то окружающие тебя вещи ты воспринимаешь как естественные: не видишь их культурного происхождения, их условности, их связи с конкретными обстоятельствами. Просто кажется, что можно только так. Например, я общался с очень многими коллегами, и они часто говорили: ну как можно так учить студентов, чтобы они после окончания курса не сдавали экзамены?! Им кажется, что экзамен в конце курса — это как бы от Бога. Ну вот сейчас я преподаю в университете, где не сдают студенты экзамены, кроме выпускных, и ничего.
— Вы любите перемещаться?
— Десять лет назад очень любил, теперь меньше. Поскольку, как я уже говорил, я по какой-то не вполне ясной для меня причине не молодею, вся инфраструктура перемещения становится проблемой. Но вообще да, я считаю, что жизнь при таком ее устройстве богаче.
Как реагировать на раздражающие детские привычки – Москва 24, 08.07.2021
Все мы когда-то были детьми – бегали, кричали, дрались и наверняка досаждали окружающим. Почему в последнее время поведение несовершеннолетних рассматривают как под микроскопом и можно ли взрослым и детям ужиться в большом мире без взаимных претензий? На эти и другие вопросы искала ответы журналист, мать двоих детей Евгения Бородина.
Фото: depositphotos/kalinovsky
Если бы мы составили рейтинг привычек, которые выводят взрослых из себя, то первое место по праву заняла бы манера колотить ногами в спинки кресел в самолетах и сидячих вагонах поездов дальнего следования. Такое поведение способно довести до белого каления самого терпеливого пассажира. Пересесть нельзя, замечание может не понравиться родителям. Кто-то безропотно терпит тычки, а другие срываются на эмоции.
Негативную реакцию вызывают и дети, которые в метро или автобусе забираются с ногами на сиденье или крутятся так, что способны испачкать рядом сидящих пассажиров. Ребенок, уютно устроившийся в тележке супермаркета прямо с грязными подошвами, тоже редко кого умиляет. Еще взрослым не нравится, когда дети кричат, стучат и носятся в общественных местах, громко топают, не давая житья владельцам нижних квартир, плюхаются с независимым видом на места для пенсионеров и инвалидов, включают во всеуслышание игры или электронные игрушки.
Перечень можно продолжать до бесконечности. Как примирить взрослых с такой действительностью, а детей призвать к порядку в случае необходимости? Пессимисты считают, что эта «война» не закончится никогда.
Малыши – и послушные, и избалованные – вырастают и становятся взрослыми, в том числе теми, кого раздражают дети. Они получают статус родителей, в частности тех, кто воспитывает детей, которым можно все. За каждым ребенком стоит взрослый, его отношение к проблеме и взгляд на жизнь. Поведение малыша – это, по большому счету, зона ответственности родителей. Людей порой раздражает больше даже не то, что малыш колошматит ногами в спинку сиденья, а реакция его мамы и папы. Порой они или не обращают внимания на резвого отпрыска, или просто не вмешиваются в ситуацию. Одни считают, что на ребенка нельзя давить, он маленький, к тому же это наш ребенок, он самый лучший на свете, так что «не суйтесь». Другие сами натерпелись от своих маленьких мучителей и любят поиграть в «эти дети не со мной». Поэтому то, какой ценой шумные и подвижные карапузы сидят тихо и не мамкают, для них уже дело десятое.
Родители мечты – взрослые, которые знают, как действовать в неприятной ситуации. Они встанут на вашу сторону, если вы объективно нервничаете из-за поведения ребенка, нарушающего ваши границы, и переключат его внимание, чтобы он никому не мешал. Они даже пойдут на перехват нежелательных действий, заранее предусмотрев слабые места. Они есть и встречались бы нам почаще, если бы сознательных родителей во все времена было бы больше.
Фото: depositphotos/didesign
Справедливости ради людям, которые недовольны чужими детьми, надо проанализировать, так ли уж им досаждает конкретный ребенок. Возможно, из-за предубеждения по отношению к детям кому-то кажется ужасным каждое их движение. Как-то в самолете пассажиры с неудовольствием косились на наших малышей, но они как раз сидели тихо. А досаждали окружающим тогда взрослые люди, которые вели себя как избалованные карапузы – смотрели кино без наушников, громко чавкали, стучали в спинки кресел и толкались в проходе, стараясь выйти раньше других. Возможно, они когда-то были подростками, которым мамы отдавали все лучшее, а бабушки усаживали вместо себя в метро…
Не спешите срываться, присмотритесь к тем, кто рядом. Бывает, что шумно ведут себя особенные дети. Порой самый нетерпимый взрослый меняет свое отношение к ситуации, узнав о проблеме такого рода. Подумайте об этом, прежде чем поднимать скандал.
А уж если становится понятно, что маленький «вождь краснокожих» – просто избалованный малый, которому никто никогда не делал замечаний, то адресуйтесь к его родителям. Но делайте это вежливо, спокойным тоном, не переводя ситуацию в плоскость перебранки. И не пытайтесь назидательно, свысока разговаривать с родителем – не унижайте его в присутствии детей. Если вы сразу начнете нападать на взрослого, то не сделаете его своим союзником. В этом случае, скорее всего, родитель, даже понимая и в душе принимая вашу правоту, будет действовать вам назло, а ребенок не извлечет урок из ситуации.
Если договориться не удалось, то в самолете, ресторане или поезде лучше сразу обратиться за помощью третьих лиц – стюарда, проводника или официанта. Никому не нужны конфликтные ситуации, вам постараются помочь. Готовьтесь к тому, что, если ни один способ не действует, придется принять ситуацию такой, какая она есть. Скажите себе, что это временное явление. Наденьте наушники, включите музыку, расслабьтесь и постарайтесь отключиться. Так или иначе вы долетите, доедете, доедите ваш ужин, а родителям маленького хулигана еще очень долго придется терпеть его выходки.
Читайте также
Кубань и Крым во власти стихии: как реагируют туристы
13.08.2021
В Сочи из-за непогоды закрыли все пляжи, в Анапе ввели режим ЧС, в Крыму подтоплениям из-за ливней присвоен статус чрезвычайной ситуации федерального масштаба. Туроператоры рассказали, как туристы реагируют на непогоду в южных регионах России.
В КРАСНОДАРСКОМ КРАЕ И КРЫМУ – ЧЕРНОМОРСКИЙ ЦИКЛОН
В Краснодарском крае до 14 августа включительно действует экстренное предупреждение по непогоде. Причина – «черноморский циклон», похожий по характеру на тропический шторм, который обосновался на юге России и несет с собой сильные дожди и ветер.
Этот же циклон 12 августа обрушился на черноморское побережье Турции: погибшими считаются 27 человек, повреждены или разрушены несколько мостов, 274 деревни остались без электричества, более тысячи человек были эвакуированы.
В СОЧИ ЗАКРЫЛИ ВСЕ ПЛЯЖИ, А В АНАПЕ ВВЕЛИ РЕЖИМ ЧС
В ночь с 12 на 13 августа в некоторых районах Краснодарского края шел сильный ливень. Больше всего пострадали Новороссийск, Анапа, Славянский, Ейский и Темрюкский районы, рассказал глава Кубани Вениамин Кондратьев.
В Темрюкском районе менее чем за сутки уже выпало 175 мм осадков, подтоплено порядка 800 домовладений. В Анапе, где за сутки выпала трехмесячная норма осадков, ливень смыл центральный пляж, некоторые улицы оказались затопленными. Сильно подтопило и посёлок Витязево, где некоторые дороги ушли под воду.
«Всю ночь в некоторых муниципалитетах нашего региона шел сильный ливень. Где-то подтопило земельные участки, а где-то вода зашла в жилые дома. Но самое главное, что нигде не пришлось эвакуировать жителей», – уточнил губернатор.
Г-н Кондратьев отметил, что по прогнозам синоптиков, в ближайшее время в регионе ожидается ухудшение погоды – ливень, гроза и шквалистый ветер. Не исключен подъем уровня воды в реках, есть риск схода селевых потоков. В связи с этим власти Анапы и Новороссийска ввели режим ЧС.
А в Сочи закрыли все городские пляжи. Такое решение 13 августа принял оперативный штаб по проведению курортного сезона в Сочи.
СИТУАЦИЯ В КРАСНОДАРСКОМ КРАЕ НА ОСОБОМ КОНТРОЛЕ
Вениамин Кондратьев поручил организовать постоянное дежурство и следить за изменением уровня воды на реках.
«Мы не должны пропустить ситуацию с разливом рек, чтобы вовремя эвакуировать жителей. Всем главам на случай экстренной эвакуации людей подготовить пункты размещения и запасы питания», – заявил он.
Губернатор поручил также взять на контроль и продолжить работу по оповещению жителей края.
«Особенно важно предупредить всех, кто сейчас отдыхает на территории края на природе – в кемпингах, с палатками».
КЕРЧЬ ЗАТОПИЛО
В Крыму из-за подтоплений, вызванных сильными ливневыми дождями циклона, уже погибли и пострадали люди. В Керчи за сутки ожидается 151 миллиметр осадков – 343% от месячной нормы в 44 миллиметра.
«Количество пострадавших граждан составило 4082 человека, из которых двое погибло, местоположение одного до сих пор не установлено, и еще 59 человек получили травмы различной степени тяжести», – заявил 13 августа глава Крыма Сергей Аксенов на заседании оперативного штаба.
До Керчи стало труднее добраться и из соседнего Краснодарского края. В местном ГИБДД Краснодарского края предупредили, что в результате выпадения обильных осадков произошло подтопление прилегающих территорий и части федеральной автомобильной дороги Новороссийск — Керчь. Сейчас ограничено движения на участке 65-го км протяженностью 300 м, объезд есть через поселок Виноградный.
НЕПОГОДА ПОКА НЕ НАПУГАЛА ТУРИСТОВ
Серьезный разгул стихии не напугал туристов, говорят туроператоры. Маргарита Назарова, директор по стратегическому развитию компании «Мультитур», сейчас находится в Сочи и рассказывает, что в целом ситуация не напоминает катастрофу.
«Мы отдыхали на Красной Поляне, сейчас сами находимся в приморском кластере Сочи. Ситуация тут спокойная. Да, идет сильный дождь местами, но никакой глобальной катастрофы нет. Единственное – цвет у моря темный. Отели не подтоплены. Возможно, есть повреждения у гостиниц, которые находятся в низинах, но достоверных данных обю этом пока нет», – обрисовала текущую ситуацию г-жа Назарова.
Клиенты компании «Дельфин» тоже настроены оптимистично. Отдых из-за непогоды прерывать не желают, пережидают дождь в отелях.
Путешественники, которые только планируют поехать на отдых в Краснодарский край, тоже не отказываются от намеченных планов, отметил руководитель «Дельфина» Сергей Ромашкин.
Он полагает, что у туристов выработался иммунитет к непогоде, ведь за текущий летний сезон это уже не первый случай. Г-н Ромашкин видит и положительный эффект от циклона: он поменял направление ветра и отогнал нефтяное пятно, образовавшееся из-за разлива нефти на танкере около порта Новороссийск и дошедшее практически до Анапы.
Туристы, отдыхающие в Крыму, тоже пока не проявляют беспокойства. К тому же, шторм бушует на востоке полуострова, где туристов сейчас не так много.
Не напугала непогода в Краснодарском крае и Крыму и туристов компании АЛЕАН.
«Пока мы не получали ни одной жалобы от туристов или просьбы досрочно уехать домой, или переселить их в другой отель», – рассказали в пресс-службе туроператора. В Восточном Крыму (Керчь и прилегающие районы) ситуация в отелях и санаториях спокойная, они работают в штатном режиме. На пляжах вывесили красный флаг и запрещено купаться.
«Отели не подтоплены, все наши объекты работают исправно. Практически все туристы сейчас сидят в отелях, поскольку на улице идет сильный дождь. Их жизни сейчас ничего не угрожает», – подтвердила и коммерческий директор сети отелей Alean Family Resort Collection Ольга Смолкина.
«Вестник АТОР» продолжает следить за ситуацией.
Александра Полянская
Фотография предоставлена Depositphotos.com
Вернуться назадThinking in React — React
React, на наш взгляд, лучший способ создания больших и быстрых веб-приложений с помощью JavaScript. Для нас он очень хорошо масштабируется в Facebook и Instagram.
Одна из многих замечательных частей React — это то, как он заставляет вас думать о приложениях в процессе их создания. В этом документе мы проведем вас через мыслительный процесс создания таблицы данных о товарах с возможностью поиска с помощью React.
Начни с макета
Представьте, что у нас уже есть JSON API и макет от нашего дизайнера.Макет выглядит так:
Наш JSON API возвращает некоторые данные, которые выглядят следующим образом:
[
{категория: "Спортивные товары", цена: "$ 49.99", на складе: true, название: "Футбол"},
{category: "Спортивные товары", цена: "$ 9.99", на складе: true, название: "Baseball"},
{категория: "Спортивные товары", цена: "$ 29,99", на складе: false, название: "Баскетбол"},
{category: "Electronics", price: "$ 99.99", на складе: true, name: "iPod Touch"},
{категория: «Электроника», цена: «399 $.99 ", на складе: false, name:" iPhone 5 "},
{категория: "Электроника", цена: "$ 199,99", в наличии: true, название: "Nexus 7"}
];
Шаг 1. Разбейте пользовательский интерфейс на иерархию компонентов
Первое, что вам нужно сделать, это нарисовать рамки вокруг каждого компонента (и подкомпонента) в макете и дать им все имена. Если вы работаете с дизайнером, возможно, он уже это сделал, так что поговорите с ним! Их имена слоев Photoshop могут оказаться именами ваших компонентов React!
Но как узнать, какой должна быть собственная составляющая? Используйте те же методы, чтобы решить, следует ли вам создать новую функцию или объект.Одним из таких приемов является принцип единой ответственности, то есть в идеале компонент должен выполнять только одно действие. Если он в конечном итоге вырастет, его следует разложить на более мелкие подкомпоненты.
Поскольку вы часто показываете пользователю модель данных JSON, вы обнаружите, что если ваша модель была построена правильно, ваш пользовательский интерфейс (и, следовательно, ваша структура компонентов) будет хорошо отображаться. Это потому, что UI и модели данных, как правило, придерживаются одной и той же информационной архитектуры . Разделите свой пользовательский интерфейс на компоненты, каждый из которых соответствует одной части вашей модели данных.
Здесь вы увидите, что в нашем приложении пять компонентов. Данные, которые представляет каждый компонент, выделены курсивом. Цифры на изображении соответствуют номерам ниже.
-
FilterableProductTable
(оранжевый): содержит весь пример -
SearchBar
(синий): получает все вводимые пользователем данные -
ProductTable
(зеленый): отображает и фильтрует сбор данных на основе пользовательского ввода -
ProductCategoryRow
(бирюзовый): отображает заголовок для каждой категории -
ProductRow
(красный): отображает строку для каждого продукта
Если вы посмотрите на ProductTable
, вы увидите, что заголовок таблицы (содержащий метки «Имя» и «Цена») не является отдельным компонентом.Это вопрос предпочтений, и в любом случае есть аргументы. В этом примере мы оставили его как часть ProductTable
, поскольку он является частью рендеринга набора данных , за который отвечает ProductTable
. Однако, если этот заголовок станет сложным (например, если мы добавим возможности для сортировки), определенно имеет смысл сделать его собственным компонентом ProductTableHeader
.
Теперь, когда мы определили компоненты в нашем макете, давайте сгруппируем их в иерархию.Компоненты, которые появляются в другом компоненте в макете, должны отображаться как дочерние в иерархии:
Фильтруемая таблица продуктов
-
SearchBar
Таблица продуктов
-
ProductCategoryRow
-
ProductRow
-
-
Шаг 2. Создайте статическую версию в React
См. «Pen Thinking In React: Step 2» на CodePen.
Теперь, когда у вас есть иерархия компонентов, пришло время реализовать ваше приложение. Самый простой способ — создать версию, которая берет вашу модель данных и отображает пользовательский интерфейс, но не имеет интерактивности. Лучше всего разделить эти процессы, потому что для создания статической версии требуется много печатать и не думать, а добавление интерактивности требует много размышлений, а не набора текста. Посмотрим, почему.
Чтобы создать статическую версию вашего приложения, которая отображает вашу модель данных, вам нужно создать компоненты, которые повторно используют другие компоненты и передают данные с помощью свойств . props — это способ передачи данных от родителя к потомку. Если вы знакомы с концепцией состояния , , вообще не используют состояние для создания этой статической версии. Состояние зарезервировано только для интерактивности, то есть данных, которые меняются со временем. Поскольку это статическая версия приложения, она вам не нужна.
Вы можете строить сверху вниз или снизу вверх. То есть вы можете начать с построения компонентов выше в иерархии (т.е. начиная с FilterableProductTable
) или с компонентов ниже ( ProductRow
).В более простых примерах обычно проще идти сверху вниз, а в более крупных проектах проще идти снизу вверх и писать тесты по мере сборки.
В конце этого шага у вас будет библиотека компонентов многократного использования, которые визуализируют вашу модель данных. Компоненты будут иметь только методы render () и
, поскольку это статическая версия вашего приложения. Компонент наверху иерархии ( FilterableProductTable
) примет вашу модель данных в качестве опоры. Если вы внесете изменения в свою базовую модель данных и вызовете ReactDOM.render ()
снова, пользовательский интерфейс будет обновлен. Вы можете увидеть, как обновляется ваш пользовательский интерфейс и где вносить изменения. Односторонний поток данных в React (также называемый односторонним связыванием ) обеспечивает модульность и скорость всего.
Обратитесь к документации React, если вам нужна помощь в выполнении этого шага.
Краткая интерлюдия: реквизит против состояния
В React есть два типа «модельных» данных: свойства и состояние. Важно понимать разницу между ними; просмотрите официальную документацию по React, если не знаете, в чем разница.См. Также FAQ: В чем разница между состоянием и реквизитом?
Шаг 3. Определите минимальное (но полное) представление состояния пользовательского интерфейса
Чтобы сделать ваш пользовательский интерфейс интерактивным, вы должны иметь возможность инициировать изменения в вашей базовой модели данных. React достигает этого с помощью состояния .
Чтобы правильно построить приложение, вам сначала нужно подумать о минимальном наборе изменяемых состояний, который нужен вашему приложению. Ключевым моментом здесь является DRY: Don’t Repeat Yourself . Выясните абсолютное минимальное представление состояния, которое требуется вашему приложению, и вычислите все остальное, что вам нужно, по запросу.Например, если вы составляете список TODO, храните массив элементов TODO; не храните отдельную переменную состояния для подсчета. Вместо этого, когда вы хотите отобразить счетчик TODO, возьмите длину массива элементов TODO.
Подумайте обо всех фрагментах данных в нашем примере приложения. У нас:
- Первоначальный перечень товаров
- Поисковый текст, введенный пользователем
- Значение флажка
- Отфильтрованный список товаров
Давайте рассмотрим каждый из них и выясним, какой из них является государственным.Задайте три вопроса по каждому фрагменту данных:
- Передается ли он от родителя через реквизит? Если так, то, вероятно, это не государство.
- Остается ли он неизменным с течением времени? Если так, то, вероятно, это не государство.
- Можете ли вы вычислить это на основе любого другого состояния или свойств вашего компонента? Если так, то это не государство.
Исходный список продуктов передается как реквизит, так что это не состояние. Кажется, что текст поиска и флажок находятся в состоянии, поскольку они меняются со временем и не могут быть вычислены ни на чем.И, наконец, отфильтрованный список продуктов не является состоянием, потому что его можно вычислить, объединив исходный список продуктов с поисковым текстом и значением флажка.
Итак, наконец, наше состояние:
- Поисковый текст, введенный пользователем
- Значение флажка
Шаг 4. Определите, где должен проживать ваш штат
См. Статью «Pen Thinking In React: Step 4» на CodePen.
Итак, мы определили минимальный набор состояний приложения.Затем нам нужно определить, какой компонент мутирует, или владеет этим состоянием.
Помните: React — это односторонний поток данных вниз по иерархии компонентов. Может быть не сразу понятно, какой компонент в каком состоянии должен владеть. Это часто самая сложная часть для новичков, , поэтому выполните следующие шаги, чтобы понять это:
Для каждого шт. В вашем заявлении:
- Определите каждый компонент, который что-то отображает на основе этого состояния.
- Найдите общий компонент-владелец (один компонент выше всех компонентов, которым требуется состояние в иерархии).
- Либо общий владелец, либо другой компонент выше в иерархии должен владеть состоянием.
- Если вы не можете найти компонент, для которого имеет смысл владеть состоянием, создайте новый компонент исключительно для сохранения состояния и добавьте его где-нибудь в иерархии над компонентом общего владельца.
Давайте рассмотрим эту стратегию для нашего приложения:
-
ProductTable
необходимо отфильтровать список продуктов на основе состояния, аSearchBar
необходимо отображать текст поиска и отмеченное состояние. - Компонент общего владельца —
FilterableProductTable
. - Концептуально имеет смысл, чтобы текст фильтра и проверяемое значение находились в
FilterableProductTable
Круто, поэтому мы решили, что наше состояние находится в FilterableProductTable
. Сначала добавьте свойство экземпляра this.state = {filterText: '', inStockOnly: false}
в конструктор FilterableProductTable
, чтобы отразить начальное состояние вашего приложения.Затем передайте filterText
и inStockOnly от
до ProductTable
и SearchBar
в качестве опоры. Наконец, используйте эти реквизиты для фильтрации строк в ProductTable
и установите значения полей формы в SearchBar
.
Вы можете начать видеть, как будет вести себя ваше приложение: установите filterText
на "ball"
и обновите приложение. Вы увидите, что таблица данных обновлена правильно.
Шаг 5: Добавьте обратный поток данных
См. Статью «Pen Thinking In React: Step 5» на CodePen.
На данный момент мы создали приложение, которое корректно отображается в зависимости от свойств и состояния, перемещающихся вниз по иерархии. Теперь пришло время поддержать поток данных другим путем: компоненты формы в глубине иерархии должны обновить состояние в FilterableProductTable
.
React делает этот поток данных явным, чтобы помочь вам понять, как работает ваша программа, но для этого требуется немного больше ввода, чем при традиционной двусторонней привязке данных.
Если вы попытаетесь ввести или установить флажок в текущей версии примера, вы увидите, что React игнорирует ваш ввод.Это сделано намеренно, поскольку мы установили свойство value
prop для input
всегда равным состоянию , которое
передало из FilterableProductTable
.
Давайте подумаем, чего мы хотим. Мы хотим быть уверены, что всякий раз, когда пользователь изменяет форму, мы обновляем состояние, чтобы отразить ввод пользователя. Поскольку компоненты должны обновлять только свое собственное состояние, FilterableProductTable
будет передавать обратные вызовы SearchBar
, которые будут срабатывать всякий раз, когда состояние должно быть обновлено.Мы можем использовать событие onChange
на входах, чтобы получать уведомления об этом. Обратные вызовы, переданные FilterableProductTable
, вызовут setState ()
, и приложение будет обновлено.
И все
Надеюсь, это даст вам представление о том, как думать о создании компонентов и приложений с помощью React. Хотя это может быть немного больше набора текста, чем вы привыкли, помните, что код читается гораздо больше, чем он написан, и этот модульный, явный код легче читать.Когда вы начнете создавать большие библиотеки компонентов, вы оцените эту явность и модульность, а при повторном использовании кода ваши строки кода начнут сокращаться. 🙂
Введение в React — React
Это руководство не предполагает каких-либо существующих знаний React.
Перед тем, как мы начнем обучение
Во время этого урока мы создадим небольшую игру. У вас может возникнуть соблазн пропустить его, потому что вы не создаете игры, но дайте ему шанс. Приемы, которые вы изучите в этом руководстве, являются фундаментальными для создания любого приложения React, и их освоение даст вам глубокое понимание React.
Подсказка
Это руководство предназначено для людей, которые предпочитают учиться , выполняя . Если вы предпочитаете изучать концепции с нуля, ознакомьтесь с нашим пошаговым руководством. Вы можете найти это руководство и руководство, дополняющие друг друга.
Учебное пособие разделено на несколько разделов:
Вам не нужно заполнять все разделы сразу, чтобы получить пользу от этого руководства. Постарайтесь пройти как можно дальше — даже если это один или два раздела.
Что мы строим?
В этом уроке мы покажем, как создать интерактивную игру в крестики-нолики с React.
Вы можете увидеть, что мы будем строить здесь: Final Result . Если код вам не понятен или вы не знакомы с его синтаксисом, не волнуйтесь! Цель этого руководства — помочь вам понять React и его синтаксис.
Мы рекомендуем вам проверить игру в крестики-нолики, прежде чем продолжить обучение. Одна из особенностей, которую вы заметите, — это пронумерованный список справа от игрового поля.Этот список дает вам историю всех ходов, которые произошли в игре, и он обновляется по ходу игры.
Вы можете закрыть игру в крестики-нолики, когда ознакомитесь с ней. В этом руководстве мы начнем с более простого шаблона. Наш следующий шаг — настроить вас так, чтобы вы могли начать сборку игры.
Предварительные требования
Мы предполагаем, что вы знакомы с HTML и JavaScript, но у вас должна быть возможность продолжить, даже если вы переходите с другого языка программирования.Мы также предполагаем, что вы знакомы с такими понятиями программирования, как функции, объекты, массивы и, в меньшей степени, классы.
Если вам нужно изучить JavaScript, мы рекомендуем прочитать это руководство. Обратите внимание, что мы также используем некоторые функции из ES6 — последней версии JavaScript. В этом руководстве мы используем стрелочные функции, классы, операторы let
и const
. Вы можете использовать Babel REPL, чтобы проверить, в какой код ES6 компилируется.
Установка для учебника
Есть два способа выполнить это руководство: вы можете написать код в браузере или настроить локальную среду разработки на своем компьютере.
Вариант установки 1. Запись кода в браузере
Это самый быстрый способ начать работу!
Сначала откройте этот Стартовый код в новой вкладке. На новой вкладке должно отображаться пустое поле для игры в крестики-нолики и код React. В этом руководстве мы будем редактировать код React.
Теперь вы можете пропустить второй вариант настройки и перейти в раздел «Обзор», чтобы получить обзор React.
Вариант установки 2: локальная среда разработки
Это совершенно необязательно и не требуется для этого урока!
Необязательно: инструкции по локальному выполнению с использованием предпочитаемого вами текстового редактора
Эта настройка требует больше работы, но позволяет завершить обучение с помощью редактора по вашему выбору.Вот шаги, которые необходимо выполнить:
- Убедитесь, что у вас установлена последняя версия Node.js.
- Следуйте инструкциям по установке Create React App, чтобы создать новый проект.
npx приложение create-реагировать мое приложение
- Удалить все файлы в папке
src /
нового проекта
Примечание:
Не удаляйте всю папку
src
, только исходные файлы внутри нее. На следующем шаге мы заменим исходные файлы по умолчанию примерами для этого проекта.
cd my-app
cd src
rm -f *
del *
cd ..
- Добавьте файл с именем
index.css
в папкуsrc /
с этим кодом CSS. - Добавьте файл с именем
index.js
в папкуsrc /
с этим кодом JS. - Добавьте эти три строки в начало файла
index.js
в папкеsrc /
:
импортировать React из react;
импортировать ReactDOM из react-dom;
Импортировать './index.css ';
Теперь, если вы запустите npm start
в папке проекта и откроете http: // localhost: 3000
в браузере, вы должны увидеть пустое поле крестики-нолики.
Мы рекомендуем следовать этим инструкциям, чтобы настроить подсветку синтаксиса для вашего редактора.
Помогите, я застрял!
Если вы застряли, обратитесь к ресурсам поддержки сообщества. В частности, Reactiflux Chat — отличный способ быстро получить помощь. Если вы не получили ответа или по-прежнему не можете решить проблему, сообщите о проблеме, и мы поможем вам.
Обзор
Теперь, когда вы настроили, давайте рассмотрим React!
Что такое React?
React — это декларативная, эффективная и гибкая библиотека JavaScript для создания пользовательских интерфейсов. Он позволяет составлять сложные пользовательские интерфейсы из небольших и изолированных фрагментов кода, называемых «компонентами».
React имеет несколько различных типов компонентов, но мы начнем с подклассов React.Component
:
class ShoppingList расширяет React.Составная часть {
оказывать() {
возвращение (
Список покупок для {this.props.name}
- Instagram
- WhatsApp
- Oculus
);
}
}
Скоро мы перейдем к забавным тегам в стиле XML. Мы используем компоненты, чтобы сообщить React, что мы хотим видеть на экране. Когда наши данные изменяются, React будет эффективно обновлять и повторно отображать наши компоненты.
Здесь ShoppingList — это класс компонента React или тип компонента React . Компонент принимает параметры, называемые props
(сокращенно от «свойств»), и возвращает иерархию представлений для отображения с помощью метода render
.
Метод render
возвращает описание того, что вы хотите видеть на экране. React берет описание и отображает результат. В частности, render
возвращает элемент React , который является упрощенным описанием того, что нужно визуализировать.Большинство разработчиков React используют специальный синтаксис под названием «JSX», который упрощает написание этих структур. Синтаксис
преобразуется во время сборки в React.createElement ('div')
. Пример выше эквивалентен:
return React.createElement ('div', {className: 'shopping-list'},
React.createElement ('h2',),
React.createElement ('ul',)
);
См. Полную развернутую версию.
Если вам интересно, createElement ()
более подробно описывается в справочнике по API, но мы не будем использовать его в этом руководстве.Вместо этого мы продолжим использовать JSX.
JSX включает все возможности JavaScript. Вы можете поместить любых выражений JavaScript в фигурные скобки внутри JSX. Каждый элемент React — это объект JavaScript, который вы можете сохранить в переменной или передать в своей программе.
Компонент ShoppingList
выше отображает только встроенные компоненты DOM, такие как
и
. Но вы также можете создавать и отображать собственные компоненты React.Например, теперь мы можем обратиться ко всему списку покупок, написав
. Каждый компонент React инкапсулирован и может работать независимо; это позволяет создавать сложные пользовательские интерфейсы из простых компонентов.
Проверка кода стартера
Если вы собираетесь работать с учебником в своем браузере, откройте этот код в новой вкладке: Стартовый код . Если вы собираетесь работать над учебником локально, вместо откройте src / index.js
в папке вашего проекта (вы уже касались этого файла во время установки).
Этот Стартовый код — основа того, что мы создаем. Мы предусмотрели стили CSS, поэтому вам нужно сосредоточиться только на изучении React и программировании игры в крестики-нолики.
Изучив код, вы заметите, что у нас есть три компонента React:
Компонент Square отображает один
, а Board отображает 9 квадратов. Компонент Game отображает доску со значениями-заполнителями, которые мы изменим позже.В настоящее время нет интерактивных компонентов.
Передача данных через реквизиты
Чтобы намочить ноги, давайте попробуем передать некоторые данные из нашего компонента Board в компонент Square.
Мы настоятельно рекомендуем набирать код вручную, пока вы работаете с руководством, а не копировать / вставлять. Это поможет вам развить мышечную память и лучше понять.
В методе Board renderSquare
измените код, чтобы передать свойство с именем value
в Square:
Класс Board расширяет React.Составная часть {
renderSquare (i) {
return <Квадратное значение = {i} />; }
}
Измените метод рендеринга Square , чтобы отобразить это значение, заменив
{/ * TODO * /}
на {this.props.value}
:
class Square расширяет React.Component {
оказывать() {
возвращение (
);
}
}
Раньше:
После: вы должны увидеть число в каждом квадрате визуализированного вывода.
Посмотреть полный код здесь
Поздравляем! Вы только что «передали опору» от родительского компонента Board дочернему компоненту Square. Передача реквизита - это то, как информация передается в приложениях React от родителей к детям.
Создание интерактивного компонента
Давайте заполним квадратный компонент буквой «X», когда мы щелкнем по нему.
Сначала измените тег кнопки, возвращаемый функцией render ()
компонента Square, на этот:
класс Square расширяет React.Составная часть {
оказывать() {
возвращение (
);
}
}
Если вы сейчас нажмете на квадрат, вы должны увидеть «щелчок» в консоли инструментов разработчика вашего браузера.
Примечание
Чтобы сохранить ввод и избежать запутанного поведения
и
, мы будем использовать синтаксис стрелочной функции для обработчиков событий здесь и далее:класс Square расширяет React.Составная часть { оказывать() { возвращение ( ); } }
Обратите внимание, как с
onClick = {() => console.log ('click')}
мы передаем функцию как опоруonClick
. React вызовет эту функцию только после щелчка. Забыть() =>
и написатьonClick = {console.log ('click')}
- это распространенная ошибка, которая срабатывает каждый раз при повторном рендеринге компонента.
В качестве следующего шага мы хотим, чтобы компонент Square «запомнил», что по нему щелкнули, и заполнил его знаком «X». Чтобы «запомнить» вещи, компоненты используют состояние .
Компоненты React могут иметь состояние, задав this.state
в их конструкторах. this.state
следует рассматривать как частный для компонента React, в котором он определен. Давайте сохраним текущее значение Square в this.state
и изменим его при нажатии на Square.
Сначала мы добавим в класс конструктор для инициализации состояния:
class Square расширяет React.Component {
конструктор (реквизит) {супер (реквизит); this.state = {значение: null,}; }
оказывать() {
возвращение (
);
}
}
Примечание
В классах JavaScript вам всегда нужно вызывать
super
при определении конструктора подкласса.Все классы компонентов React, которые имеют конструктор, должны начинаться с вызова
super (props)
.
Теперь мы изменим метод Square render
, чтобы отображать значение текущего состояния при нажатии:
- Замените
this.props.value
наthis.state.value
внутри тега - Замените обработчик событий
onClick = {...}
наonClick = {() => this.setState ({value: 'X'})}
. - Поместите свойства
className
иonClick
в отдельные строки для лучшей читаемости.
После этих изменений тег
, который возвращается методом render
Square, выглядит следующим образом:
class Square расширяет React.Component {
конструктор (реквизит) {
супер (реквизит);
this.state = {
значение: null,
};
}
оказывать() {
возвращение (
кнопка <
className = "квадрат" onClick = {() => это.setState ({значение: 'X'})}>
{this.state.value}
);
}
}
Вызывая this.setState
из обработчика onClick
в методе рендеринга Square , мы говорим React повторно отображать этот Square всякий раз, когда нажимается его
. После обновления для Square this.state.value
будет 'X'
, поэтому на игровом поле мы увидим X
. Если вы нажмете на любой квадрат, должен появиться X
.
Когда вы вызываете setState
в компоненте, React автоматически обновляет дочерние компоненты внутри него.
Посмотреть полный код здесь
Инструменты разработчика
Расширение React Devtools для Chrome и Firefox позволяет вам проверять дерево компонентов React с помощью инструментов разработчика вашего браузера.
React DevTools позволяет вам проверять свойства и состояние ваших компонентов React.
После установки React DevTools вы можете щелкнуть правой кнопкой мыши любой элемент на странице, нажать «Inspect», чтобы открыть инструменты разработчика, и вкладки React («⚛️ Components» и «⚛️ Profiler») появятся в качестве последних вкладок для право. Используйте «⚛️ Компоненты» для проверки дерева компонентов.
Однако обратите внимание, что есть несколько дополнительных шагов, чтобы заставить его работать с CodePen:
- Войдите или зарегистрируйтесь и подтвердите свой адрес электронной почты (необходимо для предотвращения спама).
- Щелкните по кнопке «Вилка».
- Щелкните «Изменить вид», а затем выберите «Режим отладки».
- В новой открывшейся вкладке у инструментов разработчика теперь должна быть вкладка React.
Завершение игры
Теперь у нас есть основные строительные блоки для нашей игры в крестики-нолики. Чтобы получить законченную игру, теперь нам нужно поочередно размещать на доске «X» и «O», и нам нужен способ определения победителя.
Состояние подъема вверх
В настоящее время каждый компонент Square поддерживает состояние игры.Чтобы определить победителя, мы сохраним значение каждого из 9 квадратов в одном месте.
Мы можем подумать, что Правление должно просто запрашивать у каждой Квадрата состояние Квадрата. Хотя такой подход возможен в React, мы не одобряем его, потому что код становится трудным для понимания, подвержен ошибкам и трудно поддается рефакторингу. Вместо этого лучше всего хранить состояние игры в родительском компоненте Board, а не в каждом Square. Компонент Board может указывать каждому Square, что отображать, передавая свойство, точно так же, как мы это делали, когда передавали число в каждый Square.
Чтобы собрать данные от нескольких дочерних компонентов или чтобы два дочерних компонента обменивались данными друг с другом, вам необходимо вместо этого объявить общее состояние в их родительском компоненте. Родительский компонент может передать состояние потомкам с помощью свойств; это поддерживает синхронизацию дочерних компонентов друг с другом и с родительским компонентом.
Перенос состояния в родительский компонент - обычное дело при рефакторинге компонентов React - давайте воспользуемся этой возможностью, чтобы попробовать.
Добавьте конструктор в Board и задайте начальное состояние Board, чтобы оно содержало массив из 9 нулей, соответствующих 9 квадратам:
class Board расширяет React.Component {
конструктор (реквизит) {супер (реквизит); this.state = {квадраты: массив (9) .fill (null),}; }
renderSquare (i) {
return <Квадратное значение = {i} />;
}
Когда мы заполним доску позже, массив this.state.squares
будет выглядеть примерно так:
[
'O', ноль, 'X',
"X", "X", "O",
'O', ноль, ноль,
]
Метод платы renderSquare
в настоящее время выглядит так:
renderSquare (i) {
return <Квадратное значение = {i} />;
}
В начале мы передали значение
prop вниз от Board, чтобы отображать числа от 0 до 8 в каждом квадрате.На другом предыдущем шаге мы заменили числа знаком «X», определяемым собственным состоянием Square. Вот почему Square в настоящее время игнорирует значение , значение
prop, переданное ему Советом.
Теперь мы снова воспользуемся механизмом передачи пропеллеров. Мы изменим Board, чтобы указать каждому квадрату его текущее значение ( 'X'
, 'O'
или null
). Мы уже определили массив squares
в конструкторе Board, и мы изменим метод Board renderSquare
для чтения из него:
renderSquare (i) {
return <Квадратное значение = {this.state.squares [i]} />; }
Посмотреть полный код здесь
Каждый квадрат теперь получит значение
prop, которое будет либо 'X',
, 'O'
, либо null
для пустых квадратов.
Далее нам нужно изменить то, что происходит при щелчке по квадрату. Компонент Board теперь определяет, какие квадраты заполнены. Нам нужно создать способ для Square обновлять состояние Board. Поскольку состояние считается частным для компонента, который его определяет, мы не можем обновлять состояние Board непосредственно из Square.
Вместо этого мы передадим функцию от Board функции Square, и Square будет вызывать эту функцию при нажатии на квадрат. Мы изменим метод renderSquare
в Board на:
renderSquare (i) {
возвращение (
<Квадрат
значение = {this.state.squares [i]}
onClick = {() => this.handleClick (i)} />
);
}
Примечание
Мы разделили возвращаемый элемент на несколько строк для удобства чтения и добавили круглые скобки, чтобы JavaScript не вставлял точку с запятой после
, возвращая
и нарушая наш код.
Теперь мы передаем два свойства от Board к Square: значение ,
и onClick
. Свойство onClick
- это функция, которую Square может вызывать при нажатии. Мы внесем следующие изменения в Square:
- Заменить
this.state.value
наthis.props.value
в методе рендерингаSquare
- Замените
this.setState ()
наthis.props.onClick ()
в методе рендерингаSquare
- Удалите конструктор
После этих изменений компонент Square будет выглядеть так:
класс Square расширяет React.Компонент {render () {return (
кнопка <
className = "квадрат"
onClick = {() => this.props.onClick ()}>
{this.props.value}
);
}
}
При щелчке по квадрату вызывается функция onClick
, предоставляемая Board. Вот обзор того, как это достигается:
- Опора
onClick
во встроенном компоненте DOM - При нажатии кнопки React вызовет обработчик события
onClick
, который определен в методеrender ()
Square. - Этот обработчик событий вызывает
this.props.onClick ()
. Свойство SquareonClick
было указано Правлением. - Поскольку Board передал
onClick = {() => this.handleClick (i)}
в Square, Square вызываетthis.handleClick (i)
при нажатии. - Мы еще не определили метод
handleClick ()
, поэтому наш код дает сбой.Если сейчас щелкнуть квадрат, вы должны увидеть красный экран с ошибкой вроде «this.handleClick не является функцией».
Примечание
Атрибут
onClick
элемента DOMимеет особое значение для React, поскольку он является встроенным компонентом. Для нестандартных компонентов, таких как Square, наименование зависит от вас. Мы могли бы дать любое имя для свойства Square
onClick
или метода BoardhandleClick
, и код работал бы так же.В React принято использоватьв именах [Event],
для свойств, которые представляют события, идескриптор [Event],
для методов, обрабатывающих события.
Когда мы пытаемся щелкнуть квадрат, мы должны получить сообщение об ошибке, потому что мы еще не определили handleClick
. Теперь добавим handleClick
к классу Board:
class Board расширяет React.Component {
конструктор (реквизит) {
супер (реквизит);
this.state = {
квадраты: Массив (9).заполнить (ноль),
};
}
handleClick (я) {константные квадраты = this.state.squares.slice (); квадраты [я] = 'X'; this.setState ({квадраты: квадраты}); }
renderSquare (i) {
возвращение (
<Квадрат
значение = {this.state.squares [i]}
onClick = {() => this.handleClick (i)}
/>
);
}
оказывать() {
const status = 'Следующий игрок: X';
возвращение (
{status}
{это.renderSquare (0)}
{this.renderSquare (1)}
{this.renderSquare (2)}
{this.renderSquare (3)}
{this.renderSquare (4)}
{this.renderSquare (5)}
{this.renderSquare (6)}
{this.renderSquare (7)}
{this.renderSquare (8)}
);
}
}
Посмотреть полный код здесь
После этих изменений мы снова можем нажимать на квадраты, чтобы заполнить их, как и раньше.Однако теперь состояние сохраняется в компоненте Board, а не в отдельных компонентах Square. Когда состояние Board изменяется, компоненты Square автоматически обновляются. Сохранение состояния всех квадратов в компоненте Board позволит в будущем определить победителя.
Поскольку компоненты Square больше не поддерживают состояние, компоненты Square получают значения от компонента Board и информируют компонент Board при нажатии на них. В терминах React компоненты Square теперь являются контролируемыми компонентами .Правление полностью контролирует их.
Обратите внимание, как в handleClick
мы вызываем .slice ()
, чтобы создать копию массива squares
для изменения вместо изменения существующего массива. Мы объясним, почему мы создаем копию массива квадратов
в следующем разделе.
Почему важна неизменность
В предыдущем примере кода мы предложили вам создать копию массива squares
, используя метод slice ()
вместо изменения существующего массива.Теперь мы обсудим неизменность и то, почему неизменность важна для изучения.
Обычно есть два подхода к изменению данных. Первый подход заключается в том, чтобы изменить данные путем непосредственного изменения значений данных. Второй подход - заменить данные новой копией, в которой есть желаемые изменения.
Изменение данных с мутацией
var player = {оценка: 1, имя: 'Джефф'};
player.score = 2;
Изменение данных без мутации
var player = {оценка: 1, имя: 'Джефф'};
var newPlayer = Объект.назначить ({}, игрок, {оценка: 2});
Конечный результат тот же, но без непосредственного изменения (или изменения базовых данных) мы получаем несколько преимуществ, описанных ниже.
Сложные функции становятся простыми
Неизменяемость значительно упрощает реализацию сложных функций. Позже в этом руководстве мы реализуем функцию «путешествия во времени», которая позволит нам просматривать историю игры в крестики-нолики и «возвращаться» к предыдущим ходам. Эта функция не относится к играм - возможность отменять и повторять определенные действия является обычным требованием для приложений.Избежание прямой мутации данных позволяет нам сохранить предыдущие версии истории игры нетронутыми и повторно использовать их позже.
Обнаружение изменений
Обнаружение изменений в изменяемых объектах затруднено, поскольку они изменяются напрямую. Это обнаружение требует, чтобы изменяемый объект сравнивался с предыдущими копиями самого себя и все дерево объектов, которое необходимо пройти.
Обнаруживать изменения в неизменяемых объектах значительно проще. Если неизменяемый объект, на который делается ссылка, отличается от предыдущего, значит, объект был изменен.
Определение времени повторного рендеринга в React
Основным преимуществом неизменяемости является то, что она помогает вам создавать чистых компонентов в React. Неизменяемые данные могут легко определить, были ли внесены изменения, что помогает определить, когда компонент требует повторной визуализации.
Вы можете узнать больше о shouldComponentUpdate ()
и о том, как построить чистых компонентов , прочитав Оптимизация производительности.
Функциональные компоненты
Теперь мы изменим Square на функциональный компонент .
В React функциональные компоненты - это более простой способ написать компоненты, которые содержат только метод render
и не имеют собственного состояния. Вместо определения класса, который расширяет React.Component
, мы можем написать функцию, которая принимает props
в качестве входных данных и возвращает то, что должно быть визуализировано. Функциональные компоненты писать менее утомительно, чем классы, и многие компоненты могут быть выражены таким образом.
Замените класс Square этой функцией:
функция Квадрат (реквизит) {
возвращение (
);
}
Мы изменили this.props
на props
оба раза, когда он появляется.
Посмотреть полный код здесь
Примечание
Когда мы изменили Square как функциональный компонент, мы также изменили
onClick = {() => this.props.onClick ()}
на более короткийonClick = {props.onClick}
(обратите внимание на отсутствие круглых скобок на с обеих сторон ).
По очереди
Теперь нам нужно исправить очевидный дефект в нашей игре в крестики-нолики: буквы «О» не могут быть отмечены на доске.
По умолчанию мы установим первый ход как «X». Мы можем установить это значение по умолчанию, изменив начальное состояние в нашем конструкторе Board:
class Board расширяет React.Component {
конструктор (реквизит) {
супер (реквизит);
this.state = {
квадраты: Array (9) .fill (null),
xIsNext: true,};
}
Каждый раз, когда игрок перемещается, xIsNext
(логическое значение) будет переворачиваться, чтобы определить, какой игрок пойдет следующим, и состояние игры будет сохранено.Мы обновим функцию handleClick
на плате, чтобы перевернуть значение xIsNext
:
handleClick (i) {
const squares = this.state.squares.slice ();
квадраты [i] = this.state.xIsNext? 'X': 'O'; this.setState ({
квадраты: квадраты,
xIsNext:! this.state.xIsNext,});
}
С этим изменением «X» и «O» могут меняться по очереди. Попытайся!
Давайте также изменим текст «статус» в панели render
, чтобы он отображал, у какого игрока следующий ход:
render () {
const status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O');
возвращение (
После применения этих изменений у вас должен быть этот компонент платы:
class Board расширяет React.Component {
конструктор (реквизит) {
супер (реквизит);
this.state = {
квадраты: Array (9) .fill (null),
xIsNext: true,};
}
handleClick (i) {
const squares = this.state.squares.slice (); квадраты [i] = this.state.xIsNext? 'X': 'O'; this.setState ({квадраты: квадраты, xIsNext:! this.state.xIsNext,}); }
renderSquare (i) {
возвращение (
<Квадрат
значение = {this.state.squares [i]}
onClick = {() => this.handleClick (i)}
/>
);
}
оказывать() {
const status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O');
возвращение (
{status}
{this.renderSquare (0)}
{this.renderSquare (1)}
{this.renderSquare (2)}
{это.renderSquare (3)}
{this.renderSquare (4)}
{this.renderSquare (5)}
{this.renderSquare (6)}
{this.renderSquare (7)}
{this.renderSquare (8)}
);
}
}
Посмотреть полный код здесь
Объявление победителя
Теперь, когда мы показываем, какой игрок следующий ход, мы также должны показать, когда игра выиграна и больше нет ходов.Скопируйте эту вспомогательную функцию и вставьте ее в конец файла:
функция calculateWinner (квадраты) {
const lines = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6],
];
for (let i = 0; i
Учитывая массив из 9 квадратов, эта функция проверяет победителя и возвращает 'X'
, 'O'
или null
в зависимости от ситуации.
Мы вызовем calculateWinner (squares)
в функции Board render
, чтобы проверить, выиграл ли игрок. Если игрок выиграл, мы можем отобразить такой текст, как «Победитель: X» или «Победитель: O». Мы заменим объявление status
в функции Board render
на этот код:
render () {
констант победитель = вычислить победитель (this.state.squares); пусть статус; if (победитель) {status = 'Победитель:' + победитель; } else {status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O'); }
возвращение (
Теперь мы можем изменить функцию Board handleClick
, чтобы она возвращалась раньше, игнорируя щелчок, если кто-то выиграл игру или если квадрат уже заполнен:
handleClick (i) {
const squares = this.state.squares.slice ();
если (вычислитьПобедитель (квадраты) || квадраты [я]) {возврат; } квадраты [i] = this.state.xIsNext? 'X': 'O';
this.setState ({
квадраты: квадраты,
xIsNext:! this.state.xIsNext,
});
}
Посмотреть полный код здесь
Поздравляем! Теперь у вас есть рабочая игра в крестики-нолики. И вы тоже только что узнали основы React. Итак, , вы, наверное, здесь настоящий победитель.
Добавление путешествия во времени
В качестве заключительного упражнения давайте «вернемся во времени» к предыдущим ходам в игре.
Сохранение истории перемещений
Если мы изменим массив квадратов и
, реализация путешествия во времени будет очень сложной.
Однако мы использовали slice ()
для создания новой копии массива squares
после каждого хода и считали ее неизменной. Это позволит нам хранить все предыдущие версии массива квадратов
и перемещаться между уже произошедшими поворотами.
Мы будем хранить прошлые квадратов
массивов в другом массиве, который называется история
. История Массив
представляет все состояния доски, от первого до последнего хода, и имеет такую форму:
история = [
{
квадраты: [
нуль, ноль, ноль,
нуль, ноль, ноль,
нуль, ноль, ноль,
]
},
{
квадраты: [
нуль, ноль, ноль,
ноль, 'X', ноль,
нуль, ноль, ноль,
]
},
{
квадраты: [
нуль, ноль, ноль,
ноль, 'X', ноль,
ноль, ноль, 'O',
]
},
]
Теперь нам нужно решить, какой компонент должен владеть состоянием истории
.
Снова подъем состояния
Нам нужно, чтобы компонент Game верхнего уровня отображал список прошлых ходов. Для этого ему потребуется доступ к истории
, поэтому мы поместим состояние history
в компонент Game верхнего уровня.
Размещение состояния history
в компоненте Game позволяет нам удалить состояние squares
из его дочернего компонента Board. Точно так же, как мы «подняли состояние» из компонента Square в компонент Board, мы теперь поднимаем его из Board в компонент Game верхнего уровня.Это дает компоненту Game полный контроль над данными Board и позволяет ему проинструктировать Board о рендеринге предыдущих ходов из истории
.
Сначала мы установим начальное состояние для компонента Game в его конструкторе:
class Game расширяет React.Component {
конструктор (реквизит) {супер (реквизит); this.state = {история: [{квадраты: массив (9) .fill (null),}], xIsNext: true,}; }
оказывать() {
возвращение (
<Доска />
{}
{}
);
}
}
Затем у нас будет компонент Board, который получит квадратов
и onClick
props из компонента Game.Поскольку теперь у нас есть обработчик одного клика в Board для многих Squares, нам нужно передать местоположение каждого Square в обработчик onClick
, чтобы указать, какой Square был нажат. Вот необходимые шаги для преобразования компонента Board:
- Удалите конструктор
- Замените
this.state.squares [i]
наthis.props.squares [i]
в панелиrenderSquare
. - Замените
this.handleClick (i)
наthis.props.onClick (i)
в панелиrenderSquare
.
Компонент Board теперь выглядит так:
class Board расширяет React.Component {
handleClick (i) {
const squares = this.state.squares.slice ();
if (calculateWinner (squares) || squares [i]) {
возвращение;
}
квадраты [i] = this.state.xIsNext? 'X': 'O';
this.setState ({
квадраты: квадраты,
xIsNext:! this.state.xIsNext,
});
}
renderSquare (i) {
возвращение (
<Квадрат
value = {this.props.squares [i]} onClick = {() => this.props.onClick (i)} />
);
}
оказывать() {
констант победитель = вычислить победитель (this.state.squares);
пусть статус;
если (победитель) {
status = 'Победитель:' + победитель;
} еще {
status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O');
}
возвращение (
{status}
{this.renderSquare (0)}
{this.renderSquare (1)}
{это.renderSquare (2)}
{this.renderSquare (3)}
{this.renderSquare (4)}
{this.renderSquare (5)}
{this.renderSquare (6)}
{this.renderSquare (7)}
{this.renderSquare (8)}
);
}
}
Мы обновим функцию render
компонента Game, чтобы использовать самую последнюю запись в истории для определения и отображения статуса игры:
render () {
const history = this.state.history; const current = history [history.length - 1]; const победитель = calculateWinner (current.squares); пусть статус; if (победитель) {status = 'Победитель:' + победитель; } else {status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O'); }
возвращение (
this.handleClick (i)} />
{status} {}
);
}
Поскольку компонент Game теперь отображает статус игры, мы можем удалить соответствующий код из метода render
Board.После рефакторинга функция платы render
выглядит так:
render () {return ( {this.renderSquare (0)}
{this.renderSquare (1)}
{this.renderSquare (2)}
{this.renderSquare (3)}
{this.renderSquare (4)}
{this.renderSquare (5)}
{это.renderSquare (6)}
{this.renderSquare (7)}
{this.renderSquare (8)}
);
}
Наконец, нам нужно переместить метод handleClick
из компонента Board в компонент Game. Нам также необходимо изменить handleClick
, потому что состояние компонента Game имеет другую структуру. В рамках метода handleClick игры мы объединяем новые записи истории с историей
.
handleClick (i) {
const history = this.state.history; const current = history [history.length - 1]; const squares = current.squares.slice (); if (calculateWinner (squares) || squares [i]) {
возвращение;
}
квадраты [i] = this.state.xIsNext? 'X': 'O';
this.setState ({
history: history.concat ([{квадраты: квадраты,}]), xIsNext:! this.state.xIsNext,
});
}
Примечание
В отличие от метода array
push ()
, с которым вы, возможно, более знакомы, методconcat ()
не изменяет исходный массив, поэтому мы предпочитаем его.
На этом этапе компоненту Board нужны только методы renderSquare
и render
. Состояние игры и метод handleClick
должны быть в компоненте Game.
Посмотреть полный код здесь
Показывая прошлые ходы
Поскольку мы записываем историю игры в крестики-нолики, теперь мы можем отображать ее для игрока в виде списка прошлых ходов.
Ранее мы узнали, что элементы React - это первоклассные объекты JavaScript; мы можем передавать их в наших приложениях.Чтобы отобразить несколько элементов в React, мы можем использовать массив элементов React.
В JavaScript массивы имеют метод map ()
, который обычно используется для сопоставления данных с другими данными, например:
постоянные числа = [1, 2, 3];
const doubled = numbers.map (x => x * 2);
Используя метод map
, мы можем сопоставить нашу историю ходов с элементами React, представляющими кнопки на экране, и отобразить список кнопок для «перехода» к прошлым ходам.
Давайте сопоставим
с историей
в методе рендеринга игры
:
render () {
const history = this.state.history;
const current = history [history.length - 1];
const победитель = calculateWinner (current.squares);
const move = history.map ((step, move) => {const desc = move? 'Перейти к перемещению #' + move: 'Перейти к началу игры'; return ( );});
пусть статус;
если (победитель) {
status = 'Победитель:' + победитель;
} еще {
status = 'Следующий игрок:' + (this.state.xIsNext? 'X': 'O');
}
возвращение (
<Доска
квадраты = {current.squares}
onClick = {(i) => this.handleClick (i)}
/>
{статус}
{движется}
);
}
Посмотреть полный код здесь
Для каждого хода в истории игры в крестики-нолики мы создаем элемент списка
, который содержит кнопку
.У кнопки есть обработчик onClick
, который вызывает метод this.jumpTo ()
. Мы еще не реализовали метод jumpTo ()
. На данный момент мы должны увидеть список ходов, которые произошли в игре, и предупреждение в консоли инструментов разработчика, которое гласит:
Предупреждение: Каждый дочерний элемент в массиве или итераторе должен иметь уникальную «ключевую» опору. Проверьте метод рендеринга «Game».
Давайте обсудим, что означает вышеприведенное предупреждение.
Выбор ключа
Когда мы визуализируем список, React сохраняет некоторую информацию о каждом отображаемом элементе списка.Когда мы обновляем список, React должен определить, что изменилось. Мы могли добавлять, удалять, переупорядочивать или обновлять элементы списка.
Представьте себе переход от
Alexa: осталось 7 задач
Бен: осталось 5 задач
Спо
Бен: осталось 9 задач
Клаудия: осталось 8 задач
Alexa: осталось 5 задач
В дополнение к обновленным счетчикам, человек, читающий это, вероятно, скажет, что мы поменяли местами Алекса и порядок Бена и вставили Клаудию между Алекой и Беном.Однако React - это компьютерная программа, которая не знает, что мы задумали. Поскольку React не может знать наши намерения, нам нужно указать свойство key для каждого элемента списка, чтобы отличать каждый элемент списка от его братьев и сестер. Один из вариантов - использовать строки alexa
, ben
, claudia
. Если бы мы отображали данные из базы данных, идентификаторы баз данных Алексы, Бена и Клаудии можно было бы использовать в качестве ключей.
{user.name}: {user.taskCount} осталось задач
При повторной визуализации списка React берет ключ каждого элемента списка и ищет в элементах предыдущего списка соответствующий ключ. Если в текущем списке есть ключ, которого раньше не было, React создает компонент. Если в текущем списке отсутствует ключ, который существовал в предыдущем списке, React уничтожает предыдущий компонент. Если два ключа совпадают, соответствующий компонент перемещается. Ключи сообщают React об идентичности каждого компонента, что позволяет React поддерживать состояние между повторными рендерингами.Если ключ компонента изменится, компонент будет уничтожен и воссоздан с новым состоянием.
key
- это специальное и зарезервированное свойство в React (вместе с ref
, более продвинутой функцией). Когда элемент создается, React извлекает свойство key
и сохраняет ключ непосредственно в возвращаемом элементе. Несмотря на то, что ключ
может выглядеть так, как будто он принадлежит props
, на ключ
нельзя ссылаться с помощью this.props.key
.React автоматически использует ключ
, чтобы решить, какие компоненты обновлять. Компонент не может запросить свой ключ
.
Настоятельно рекомендуется назначать правильные ключи при построении динамических списков. Если у вас нет подходящего ключа, вы можете подумать о реструктуризации своих данных, чтобы вы это сделали.
Если ключ не указан, React выдаст предупреждение и по умолчанию будет использовать индекс массива в качестве ключа. Использование индекса массива в качестве ключа проблематично при попытке изменить порядок элементов списка или при вставке / удалении элементов списка.Явная передача key = {i}
заглушает предупреждение, но имеет те же проблемы, что и индексы массива, и в большинстве случаев не рекомендуется.
Ключи не обязательно должны быть уникальными в глобальном масштабе; они должны быть уникальными только для компонентов и их братьев и сестер.
Реализация путешествия во времени
В истории игры в крестики-нолики каждый прошлый ход имеет уникальный идентификатор, связанный с ним: это порядковый номер хода. Ходы никогда не переупорядочиваются, не удаляются или не вставляются посередине, поэтому можно безопасно использовать индекс перемещения в качестве ключа.
В методе render
компонента Game мы можем добавить ключ как
, и предупреждение React о ключах должно исчезнуть:
const move = history.map ((step, move) => {
const desc = переместить?
'Go to move #' + движение:
'Перейти к началу игры';
возвращение (
);
});
Посмотреть полный код здесь
При нажатии любой из кнопок элемента списка возникает ошибка, поскольку метод jumpTo
не определен.Прежде чем реализовать jumpTo
, мы добавим stepNumber
в состояние компонента Game, чтобы указать, какой шаг мы просматриваем в данный момент.
Сначала добавьте stepNumber: 0
к начальному состоянию в конструкторе игры
:
class Game расширяет React.Component {
конструктор (реквизит) {
супер (реквизит);
this.state = {
история: [{
квадраты: Array (9) .fill (null),
}],
stepNumber: 0, xIsNext: истина,
};
}
Затем мы определим метод jumpTo
в Game, чтобы обновить этот stepNumber
.Мы также устанавливаем xIsNext
в значение true, если число, которое мы меняем stepNumber
на четное:
handleClick (i) {
}
jumpTo (шаг) {this.setState ({stepNumber: step, xIsNext: (step% 2) === 0,}); }
оказывать() {
}
Теперь мы внесем несколько изменений в метод игры handleClick
, который срабатывает, когда вы нажимаете на квадрат.
Добавленное нами состояние stepNumber
отражает ход, отображаемый для пользователя сейчас.После того, как мы сделаем новый ход, нам нужно обновить stepNumber
, добавив stepNumber: history.length
как часть аргумента this.setState
. Это гарантирует, что мы не застрянем, показывая один и тот же ход после того, как был сделан новый.
Мы также заменим чтение this.state.history
на this.state.history.slice (0, this.state.stepNumber + 1)
. Это гарантирует, что если мы «вернемся в прошлое», а затем сделаем новый шаг с этого момента, мы выбросим всю «будущую» историю, которая теперь стала бы неверной.
handleClick (i) {
const history = this.state.history.slice (0, this.state.stepNumber + 1); const current = history [history.length - 1];
const squares = current.squares.slice ();
if (calculateWinner (squares) || squares [i]) {
возвращение;
}
квадраты [i] = this.state.xIsNext? 'X': 'O';
this.setState ({
history: history.concat ([{
квадраты: квадраты
}]),
stepNumber: history.length, xIsNext:! this.state.xIsNext,
});
}
Наконец, мы изменим метод render
компонента Game, заменив всегда визуализацию последнего хода на визуализацию текущего выбранного хода в соответствии с stepNumber
:
render () {
const history = this.state.history;
const current = история [this.state.stepNumber]; const победитель = calculateWinner (current.squares);
Если мы щелкнем по любому шагу в истории игры, доска для игры в крестики-нолики должна немедленно обновиться, чтобы показать, как доска выглядела после того, как этот шаг произошел.
Посмотреть полный код здесь
Завершение
Поздравляем! Вы создали игру в крестики-нолики, в которой:
- Позволяет поиграть в крестики-нолики,
- Указывает, когда игрок выиграл игру,
- Сохраняет историю игры по мере ее прохождения,
- Позволяет игрокам просматривать историю игры и предыдущие версии игрового поля.
Отличная работа! Мы надеемся, что теперь вы чувствуете, что имеете хорошее представление о том, как работает React.
Посмотрите окончательный результат здесь: Final Result .
Если у вас есть дополнительное время или вы хотите попрактиковать свои новые навыки React, вот несколько идей по улучшению, которые вы могли бы внести в игру в крестики-нолики, которые перечислены в порядке возрастания сложности:
- Отображение местоположения каждого хода в формате (столбец, строка) в списке истории ходов.
- Выделенный в данный момент элемент в списке перемещений выделен жирным шрифтом.
- Перепишите Board, чтобы использовать две петли для создания квадратов вместо их жесткого кодирования.
- Добавьте переключатель, который позволяет сортировать ходы в возрастающем или убывающем порядке.
- Когда кто-то выигрывает, выделите три квадрата, которые привели к победе.
- Если никто не выиграл, отобразить сообщение о ничьей.
В этом руководстве мы коснулись концепций React, включая элементы, компоненты, свойства и состояние. Для более подробного объяснения каждой из этих тем ознакомьтесь с остальной документацией.Чтобы узнать больше об определении компонентов, ознакомьтесь с справочником по API React.Component
.
Начало работы - 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 и удобен для новичков.Как только вы закончите, попробуйте документацию еще раз!
React для дизайнеров
Если вы начинаете заниматься дизайном, эти ресурсы - отличное место для начала.
Ресурсы JavaScript
Документация React предполагает некоторое знакомство с программированием на языке JavaScript. Необязательно быть экспертом, но одновременно выучить React и JavaScript сложнее.
Мы рекомендуем просмотреть этот обзор JavaScript, чтобы проверить свой уровень знаний.Это займет у вас от 30 минут до часа, но вы будете чувствовать себя более уверенно, изучая React.
Подсказка
Всякий раз, когда вас что-то путает в JavaScript, лучше всего проверить MDN и javascript.info. Есть также форумы поддержки сообщества, где вы можете попросить о помощи.
Практическое руководство
Если вы предпочитаете учиться на практике, ознакомьтесь с нашим практическим руководством. В этом уроке мы создаем игру в крестики-нолики в React.У вас может возникнуть соблазн пропустить его, потому что вы не занимаетесь созданием игр, но дайте ему шанс. Методы, которые вы изучите в этом руководстве, являются фундаментальными для создания любых приложений React, и их освоение даст вам гораздо более глубокое понимание.
Пошаговое руководство
Если вы предпочитаете изучать концепции шаг за шагом, лучше всего начать с , наше руководство по основным концепциям. Каждая следующая глава в нем основывается на знаниях, представленных в предыдущих главах, поэтому вы ничего не пропустите в процессе.
Мыслить в реакциях
Многие пользователи React считают, что чтение «Thinking in React» является моментом, когда React наконец «щелкнул» для них. Вероятно, это самое старое пошаговое руководство по React, но оно не менее актуально.
Рекомендуемые курсы
Иногда люди находят сторонние книги и видеокурсы более полезными, чем официальная документация. Мы ведем список часто рекомендуемых ресурсов, некоторые из которых бесплатны.
Расширенные концепции
Когда вы освоитесь с основными концепциями и немного поиграете с React, вас могут заинтересовать более сложные темы.В этом разделе вы познакомитесь с мощными, но менее часто используемыми функциями React, такими как context и refs.
Ссылка API
Этот раздел документации полезен, когда вы хотите узнать больше о конкретном React API. Например, справочник по API React.Component
может предоставить вам подробную информацию о том, как работает setState ()
, и для чего полезны различные методы жизненного цикла.
Глоссарий и часто задаваемые вопросы
Глоссарий содержит обзор наиболее распространенных терминов, которые вы встретите в документации React.Также есть раздел часто задаваемых вопросов, посвященный коротким вопросам и ответам на общие темы, включая выполнение запросов AJAX, состояние компонентов и структуру файлов.
Оставаться в курсе
Блог React является официальным источником обновлений от команды React. Все важное, включая примечания к выпуску или уведомления об отказе от поддержки, будет сначала опубликовано там.
Вы также можете подписаться на аккаунт @reactjs в Twitter, но вы не пропустите ничего важного, если будете читать только блог.
Не каждый выпуск React заслуживает отдельного сообщения в блоге, но вы можете найти подробный журнал изменений для каждого выпуска в файле CHANGELOG.md
в репозитории React, а также на странице Releases.
Версия документации
Эта документация всегда отражает последнюю стабильную версию React. Начиная с React 16, вы можете найти более старые версии документации на отдельной странице. Обратите внимание, что документация для прошлых версий создается на момент выпуска и не обновляется постоянно.
Что-то не хватает?
Если что-то отсутствует в документации или если вы обнаружили, что какая-то часть сбивает вас с толку, сообщите о проблеме в репозиторий документации с вашими предложениями по улучшению или напишите в Твиттере в учетной записи @reactjs. Мы рады слышать тебя.
Как вы отреагируете? | Больницы и клиники Университета Айовы
Когда друг или член семьи попадает в больницу с черепно-мозговой травмой, вы испытываете много разных эмоций - это нормально. Эти эмоции будут приходить и уходить в разное время.
Нормальная реакция при травмах семьи и друзей
Паника и страх
Паника и страх - частые реакции после черепно-мозговой травмы члена семьи. Страхи сильны, потому что вы беспокоитесь, что пациент может не выжить. Пока состояние пациента не станет стабильным, ваши физические и эмоциональные признаки паники могут сохраняться. Эти симптомы включают учащенное дыхание, невозможность заснуть, снижение аппетита и расстройство желудка. Некоторые люди могут бесконтрольно плакать.
Шок и отрицание
Вам может казаться, что происходящее нереально.Вы можете замечать что-то, что происходит вокруг вас, но не можете запоминать информацию, разговоры или встречи с другими людьми. Вам также может быть трудно понять серьезность полученной травмы.
Гнев
Многие люди злятся из-за того, что они или их близкие оказались в такой ситуации. Это может быть оправдано. Вы можете злиться на пациента за то, что он поставил себя в ситуацию, когда ему может быть причинено боль. Вы также можете сердиться на членов семьи, друзей или других лиц, причастных к аварии.Вы можете расстроиться из-за того, что медицинский персонал не делает или не говорит то, что, по вашему мнению, является правильным. Все это нормальные реакции.
Вина
Вина - тоже нормальная реакция. Вам может казаться, что вы могли что-то сделать, чтобы предотвратить несчастный случай, даже если это далеко не так. Вы также можете подумать о прошлых событиях и личном опыте с пациентом, который, по вашему мнению, мог быть другим или лучше. Если вы злитесь на пациента, вы также можете испытывать чувство вины за свой гнев.Мы рекомендуем вам поговорить о своих чувствах с близким вам человеком или профессиональным сотрудником.
Изоляция
В это время вы можете почувствовать себя отстраненным от других. В этой странной ситуации вам может быть трудно общаться с другими людьми. Вы можете подумать, что другие не поймут. Вы можете изолировать себя, потому что думаете, что другие боятся ваших чувств или не одобряют их. Однако такой кризис, как черепно-мозговая травма, - это время, когда полезно принять утешение, поддержку и помощь от других.
Надежда
По мере того, как состояние пациента начинает стабилизироваться, ваше беспокойство о выживании будет сочетаться с надеждой на выздоровление. Медицинские осложнения и медленное выздоровление могут усилить беспокойство. Однако надежду могут дать малейшие изменения.
Любая из этих эмоций - нормальная реакция на очень стрессовую ситуацию. Возможно, вам будет полезно обсудить свои чувства с друзьями, семьей или медицинским работником. Также может быть полезно писать о своих чувствах и переживаниях в ежедневном дневнике.
Чтение и письмо для реагирования
Чтение для реакции
Реагировать - это один из основных способов критически относиться к тексту. Реагируя:
- сводится к вашим личным мыслям об идеях текста,
- расширяется из текста в область вашего опыта, а
- связывает ваши мысли о тексте с вашим личным опытом.
Когда вы реагируете, вы объединяете свой личный опыт с информацией из текста, привнося в текст свой собственный опыт.(Реагирование противоположно применению - когда вы реагируете, вы привносите в текст свой собственный опыт; когда вы применяете, вы привносите текст в свой собственный опыт.)
Вы можете задавать следующие вопросы и отвечать на них, когда реагируете на идеи в тексте; из приведенного ниже списка вы увидите, что вопросы реакции помогают вам обдумать и осмыслить ваш личный опыт работы с текстом через множество вопросов , почему и , что вопросов:
Узкие вопросы о тексте | Широкие вопросы о вашем опыте чтения текста | вопросов, связывающих текст с вашим личным опытом |
Какова основная идея и цель автора? | Было ли вам трудно или легко читать и почему? Вам понравилось или не понравилось читать текст и почему? | Вы согласны или не согласны с основной идеей автора и почему? |
Какие характеристики текста выделялись вам и почему? (е.г., авторское содержание, структура, тон) | Нашли ли вы в тексте какую-нибудь полезную информацию? Если да, то чем и чем он вам полезен? | Вы согласны или не согласны с некоторыми идеями, информацией, примерами в тексте? Почему? |
Какие типы доказательств использует автор? Подходят ли эти типы? Почему или почему нет? Какие еще доказательства вы бы порекомендовали и почему? | Можете ли вы связать идеи или примеры из текста со своим собственным опытом? Если да, то какой опыт и как он связан? | Какие части текста вызвали у вас некоторую реакцию во время чтения и сразу после прочтения? Почему? |
Делает ли автор какие-либо предположения? Если да, то каковы они и являются ли они верными предположениями? | Вы бы порекомендовали этот текст другим? Почему или почему нет? | Если бы вы написали этот текст, что бы вы сделали иначе и почему? |
Изменил ли текст каким-либо образом ваше собственное представление о теме? Как? |
Как видно из приведенных выше вопросов, реакция фокусируется не только на ваших собственных мыслях и ответе на содержание текста, но также на причинах, по которым вы так думаете.
Что вы делаете с ответами на такие вопросы? Используйте их выборочно, чтобы сформулировать понимание или утверждение о тексте. Затем вы развиваете и подкрепляете это утверждение как доказательствами из самого текста, так и своей реакцией на этот текст и переживанием его.
Например, в ответ на статью Эллен Лангер в New York Times «Как наши убеждения могут формировать нашу талию» вы могли бы сформулировать следующее понимание: то, что вы думаете о реальности, часто формирует вашу реальность.Вы можете обобщить результаты исследования Лангера, а затем предложить свою реакцию на эти результаты. Например, был ли ее эксперимент строгим? Хотели бы вы получить дополнительную информацию о дополнительных экспериментах в области науки о мозге и позитивном мышлении в поддержку Лангера? Испытывали ли вы аналогичные результаты сами или наблюдали их у других? Каковы были случаи этих переживаний и были ли результаты похожими или отличными от результатов Лангера? Как видите, когда вы читаете, чтобы отреагировать, вы привносите в текст свой личный опыт.
Вот еще один способ объяснить, как работать с вопросами и ответами на реакцию, цитируется из раздаточного материала Колледжа округа Бакс на тему «Резюме и реакция». [1]
«Разобраться в этом:
- Назовите вопрос, который вызвал у вас самый сильный ответ. Что из чтения заставило вас так себя чувствовать? Что из прочтения может подтвердить ваше мнение?
- Есть ли другие ответы, которые кажутся как-то связаны с первым? Можете ли вы провести связь между вашими ответами? Можете ли вы подкрепить эти [идеи] информацией из текста? Из твоей жизни? Из другого источника?
- Можете ли вы вспомнить примеры, о которых вы читали, слышали, видели, пережили, пережили, чтобы поддержать ваше [понимание]?
- Как вы пришли к такому выводу [в своем основном понимании или утверждении]? »
Запись в React
Написание, чтобы отреагировать, включает в себя больше, чем просто высказывание поверхностного мнения о тексте; это больше, чем «Мне понравилось / не понравилось.«Когда ваша цель - отреагировать на текст, вам необходимо показать, что вы тщательно продумали концепции и информацию в тексте, а также связанные с ними концепции и информацию. Затем вы развиваете новую идею или понимание, основываясь на своих мыслях и личном опыте. Вы можете отреагировать на основную идею текста или вспомогательную идею - весь текст или его часть. И эта часть может быть частью содержания текста, а также структурой, языком или тоном. То, на что вы реагируете, больше всего перекликается с вашим личным опытом.
Написание реакции часто называют написанием «Резюме-Ответ», потому что оно обычно включает в себя эти две части:
- ,
- , краткое изложение основных идей текста, чтобы задать контекст для вашего читателя, объяснив, что вы на него реагируете.
- реакция на этот текст, которая включает как вашу реакцию на качество самого текста, так и личный опыт, который может поддержать и дополнительно объяснить вашу реакцию
Реакции могут принимать разные формы:
- анализируя свидетельства, выводы или примеры автора, сравнивая их с собственным опытом
- оценка важности информации в тексте - как она изменила ваше мышление и как это может принести пользу другим
- в ответ на язык и тон автора и их влияние на ваше восприятие текста
- и более…
Реакции также могут быть написаны на основе нескольких текстов по связанной теме или проблеме.Когда вы пишете о нескольких текстах, вы можете спросить, как они соотносятся друг с другом с точки зрения идей и подхода. Предлагают ли они разные взгляды на проблему? Согласны ли они с выводами друг друга и поддерживают ли они их? Они противоречат друг другу? Как все вместе они помогают вам понять концепцию или проблему?
Вы можете прочитать следующие раздаточные материалы для получения дополнительной информации о письме для реагирования:
Видео ниже предлагает отличное обсуждение написания реакции.
попробуйте
Основываясь на том, что вы прочитали «Собираем всех своих утят в ряд: взгляд изнутри животный разум», напишите одно или два предложения, предлагая понимание, основанное на вашей реакции на статью, которое может послужить основной идеей для развития в реакция / ответное эссе.
Ответы будут различатьсяВот несколько примеров:
- Как показывает опыт двух моих племянников из разных семей, обучение моделированию соответствующего поведения важно для положительного развития ребенка.
- Детские игрушки, развивающие навыки критического мышления, могут повлиять на развитие ребенка. Как работник по уходу за детьми, я ощутила разницу в том, что дети имеют доступ к современным развивающим игрушкам.
- Развитие человека и животных, хотя и различается по времени, имеет некоторое сходство - люди и некоторые виды животных переживают аналогичные фазы и вехи, такие как привязанность, следование движению и прямая реакция на тон голоса, что можно увидеть по развитию обоих мои дети и мои кошки.
[1] Резюме и реакция. Репетиторский центр муниципального колледжа округа Бакс. https://www.bucks.edu/media/bcccmedialibrary/tutoring/documents/writingareahandoutrevision/writingparagraphandoutlines/summary-and-response.pdf
Управление стрессом: изучите свою реакцию на стресс
Управление стрессом: изучите свою реакцию на стресс
Управление стрессом начинается с честной оценки того, как вы реагируете на стресс.Затем вы можете противостоять нездоровым способам реагирования с помощью более полезных методов.
Персонал клиники МэйоВ наши дни трудно избежать стресса, когда так много конкурирующих требований к вашему времени, вниманию и энергии. Но, обладая хорошими навыками управления стрессом, вы можете справиться со стрессом здоровым и творческим способом.
Один из первых шагов к правильному управлению стрессом - это понимание того, как вы реагируете на стресс, и внесение изменений, если это необходимо. Честно посмотрите, как вы реагируете на стресс, а затем примените или измените методы управления стрессом, чтобы убедиться, что стресс в вашей жизни не приводит к проблемам со здоровьем.
Оцените, как вы реагируете на стресс
Навыки управления стрессом часто не возникают естественным образом. Вы можете изучить новые навыки управления стрессом или изменить свои существующие навыки управления стрессом, чтобы лучше справляться со стрессом. Эти техники можно практиковать, изучать и применять в повседневной жизни.
Во-первых, посмотрите, как вы реагируете на стресс. Некоторые люди, кажется, воспринимают все спокойно. Их естественное непринужденное отношение проявляется даже в стрессовых ситуациях.Еще один дедлайн? Они могут справиться с этим. Посудомоечная машина протекает? Без проблем. Будет несложный ремонт. Другие тревожатся при первых признаках стрессовой ситуации. Опаздываете на встречу? Пора паниковать! Застрял в пробке? Да начнутся проклятия!
Вот несколько распространенных, но нездоровых реакций на стресс. Описывает ли что-нибудь из этого вашу реакцию? Если вы не уверены, попробуйте вести дневник в течение недели или около того, чтобы отслеживать свою реакцию на стрессовые ситуации.
- Боль. Вы можете неосознанно сжимать челюсти или кулаки, или у вас может развиться мышечное напряжение, особенно в шее и плечах, и все это может привести к необъяснимой физической боли. Стресс также может вызывать множество других заболеваний, включая расстройство желудка, одышку, боли в спине, головные боли, бессонницу и раздражительность. Даже мелочи становятся серьезным кризисом.
- Переедание или недоедание. Стресс может побудить вас есть, когда вы не голодны. В результате вы можете набрать вес.Напротив, вы можете есть меньше, фактически теряя вес, когда находитесь под большим стрессом. Значительные изменения в вашем весе могут указывать на то, что вам может понадобиться профессиональная помощь.
- Гнев. Стресс может оставить вас вспыльчивым. Когда вы находитесь под давлением, вы можете спорить с коллегами, друзьями или близкими - иногда с небольшой провокацией или о вещах, которые не имеют ничего общего с вашей стрессовой ситуацией. Эти сослуживцы и члены семьи могут стать мишенью вашего гнева.Постарайтесь быть начеку и знать об этой проблеме.
- Плач. Стресс может вызвать рыдания, иногда даже без предупреждения. Мелочи, не связанные со стрессом, могут оставить вас в слезах. Вы также можете чувствовать себя одиноким или изолированным. Сильные перепады эмоций, особенно если они обычно не случаются с вами, могут быть признаком дистресса.
- Депрессия. Иногда стресс бывает слишком сильным. Вы можете избежать проблемы, позвонить больным на работу, почувствовать безнадежность или просто сдаться.Хронический стресс может быть фактором развития депрессии или тревожных расстройств.
- Негатив. Когда вы плохо справляетесь со стрессом, вы можете автоматически ожидать худшего или преувеличивать негативные аспекты любой нежелательной ситуации.
- Курение, наркотики или алкоголь. Даже если вы давно бросили курить, сигарета может показаться легким способом расслабиться, когда вы находитесь под давлением. Фактически, стресс является основной причиной рецидива курения. Вы также можете обратиться к алкоголю или наркотикам, чтобы ослабить последствия стресса.Если вы устали, сердитесь и чувствуете себя изолированным, а также имеете склонность к алкоголю или наркотикам, вы можете оказаться на грани серьезного кризиса.
Сделайте следующий шаг к управлению стрессом
После того, как вы определили нездоровые реакции на неконтролируемый стресс, вы можете начать улучшать свои навыки управления стрессом. Существует множество методов управления стрессом, в том числе:
- Вертикальная шкала. Внимательно изучите свое ежедневное, еженедельное и ежемесячное расписание.Найдите встречи, мероприятия, обеды или дела по дому, которые вы можете сократить или поручить кому-то другому. Пауза. Замедлять. Сократите те обязательства, которые не соответствуют вашим целям.
- Подготовить. Избегайте стресса, готовясь к встречам или поездкам, лучше распределяя свое время, составляя списки дел и ставя реалистичные цели для больших и малых задач. Стресс усиливается, когда у вас заканчивается время, потому что происходит что-то, чего вы не учли - например, время для пробок.
- Протяни руку. Установите или возобновите связи с другими. Окружение себя поддерживающей семьей, друзьями, коллегами, духовенством и духовными лидерами может положительно повлиять на ваше психическое благополучие и вашу способность справляться со стрессом. Станьте волонтером в своем сообществе. Поддерживайте связь с людьми, звоня, пишите и оставайтесь доступными для них.
- Найдите себе хобби. Когда вы занимаетесь чем-то приятным, это успокаивает и успокаивает ваш беспокойный ум.Попробуйте читать, заниматься садоводством, заниматься рукоделием, возиться с электроникой, рыбалкой, плотницкими работами, музыкой - вещами, в которых вы не чувствуете себя конкурентоспособными или из-за которых вы больше не нервничаете. Составьте список хобби, которым вы уделяете время в течение недели.
- Расслабьтесь. Физическая активность, медитация, йога, массаж, глубокое дыхание и другие методы релаксации могут помочь вам справиться со стрессом. Неважно, какую технику релаксации вы выберете. Важно перефокусировать ваше внимание на что-то успокаивающее и повышающее осознание своего тела.Выделите время, чтобы расслабиться и отключиться от телефона и других средств связи.
- Станьте активнее. Уменьшите стресс и улучшите настроение с помощью движения. Старайтесь регулярно заниматься физической активностью около 30 минут в день большую часть дней недели. Выделите в своем расписании время для упражнений.
- Высыпайтесь. Недостаток сна влияет на вашу иммунную систему и ваше суждение и повышает вероятность того, что вы избавитесь от незначительных раздражений. Большинству людей необходимо от 7 до 9 часов сна в день, чтобы нормально функционировать.
- Обратитесь за профессиональной помощью. Если ваши усилия по управлению стрессом недостаточно эффективны, обратитесь к врачу или специалисту в области психического здоровья. Хронический неконтролируемый стресс может привести к множеству потенциально серьезных проблем со здоровьем, включая депрессию и боль.
Стресс обычно не проходит сам по себе. Возможно, вам придется активно работать над тем, чтобы контролировать стресс в своей жизни, чтобы он не контролировал вас. Когда вы впервые определяете, как вы реагируете на стрессовые ситуации, тогда вы можете лучше справиться со стрессом, даже если вы не можете его устранить.И если ваши текущие усилия по управлению стрессом не работают, попробуйте что-нибудь новое.
28 июля 2021 г. Показать ссылки- Стресс и ваше здоровье. Министерство здравоохранения и социальных служб США. https://www.womenshealth.gov/mental-health/good-mental-health/stress-and-your-health. По состоянию на 9 апреля 2021 г.
- Как стресс влияет на ваше здоровье. Американская психологическая ассоциация. https://www.apa.org/topics/stress/health. По состоянию на 9 апреля 2021 г.
- 5 фактов о стрессе, которые следует знать.Национальный институт психического здоровья. https://www.nimh.nih.gov/health/publications/stress/index.shtml. По состоянию на 9 апреля 2021 г.
- Seaward BL. Основы управления стрессом. 5-е изд. Jones & Bartlett Learning; 2021.
- Olpin M, et al. Управление стрессом на всю жизнь. 5-е изд. Cengage Learning; 2020.
- Creagan ET (экспертное заключение). Клиника Майо. 12 апреля 2021 г.
.
Урок 3.5 - Различные вещества реагируют по-разному
Цель
Учащиеся смогут объяснить, что если они смешивают пищевую соду с двумя разными веществами в разных контейнерах и наблюдают разные признаки химических реакций, это должно быть связано с тем, что эти два вещества различны. Вещества должны состоять из разных молекул, которые по-разному реагируют с пищевой содой.
Ключевые концепции
- Поскольку вещества состоят из разных атомов и молекул, они реагируют определенным образом.
- Образование газа, изменение цвета, изменение температуры и образование осадка - все это свидетельства химической реакции.
Выравнивание NGSS
- NGSS 5-PS1-4: Проведите расследование, чтобы определить, приводит ли смешивание двух или более веществ к новым веществам.
Резюме
При работе с химическими реакциями ученики видели, как выделяется газ, образуется осадок и меняет цвет.Они также увидели, что вещества взаимодействуют определенным образом и что эти реакции могут помочь идентифицировать вещество. В этой деятельности:
- Студенты проводят реакцию с лимонной кислотой и пищевой содой в универсальном индикаторном растворе. В результате химической реакции образуется газ, изменяется цвет индикатора и снижается температура.
- Затем студенты проводят вторую реакцию с хлоридом кальция и пищевой содой в универсальном индикаторном растворе.В этом примере ученики наблюдают образование как газа, так и твердого вещества, изменение цвета индикатора и небольшое повышение температуры.
- Студенты считают, что, поскольку пищевая сода реагировала с двумя разными веществами, логично предположить, что наблюдаемые ими реакции были разными. Наконец, студенты приходят к выводу, что разные вещества имеют характерные химические реакции и что эти реакции можно использовать для идентификации вещества.
Оценка
Загрузите лист активности учащегося (PDF) и раздайте по одному учащемуся, если это указано в упражнении.Лист упражнений будет служить компонентом оценки плана урока 5-E.
Безопасность
Убедитесь, что вы и ваши ученики носите правильно подогнанные защитные очки. Хлорид кальция может вызвать серьезное повреждение или раздражение глаз. Лимонная кислота также раздражает глаза. Не трогайте твердые частицы голыми руками. Универсальный индикатор представляет собой раствор на спиртовой основе и легко воспламеняется. Держитесь подальше от всех потенциальных источников возгорания. Прочтите и соблюдайте все предупреждения по безопасности на этикетках для всех химикатов, используемых в этой деятельности.
Очистка и утилизация
Напомните учащимся мыть руки после выполнения задания. В конце урока попросите учащихся вылить использованные или оставшиеся растворы в контейнер для отходов. Утилизируйте эти растворы в канализацию или в соответствии с местными нормативами. Любые остатки твердой лимонной кислоты или хлорида кальция можно смыть в канализацию большим количеством проточной воды.
Все прочие предметы домашнего обихода или классной комнаты можно сохранить или утилизировать обычным образом.
Материалы
Необходимые материалы для каждой группы
- Лимонная кислота
- Пищевая сода
- Хлорид кальция
- Универсальный индикатор
- Вода
- 2 термометра
- Пластиковая мерная ложка, размер ½ чайной ложки
- 2 прозрачных пластиковых стакана
- 2 Маленькие чашки
- Мерный цилиндр или пластиковая столовая ложка (мерная ложка)
Примечания к материалам
Колба термометра должна быть полностью погружена в индикаторный раствор для получения точных показаний.Если ваши термометры имеют пластиковую основу, которая выступает под колбой, вы можете закрепить пластиковую основу так, чтобы она была на одном уровне с дном колбы, позволяя колбе опуститься ниже в жидкости.
Хлорид кальция можно приобрести у поставщиков химикатов, используемых вашей школой или округом. Активность хорошо работает с безводным хлоридом кальция. Держите емкость плотно закрытой, чтобы материал не впитывал влагу из воздуха.
Универсальный индикаторный раствор также доступен у поставщиков химикатов и поставляется с цветными диаграммами для обозначения pH раствора.
Подготовка учителей
Этикетка 3 маленьких стаканчика Лимонная кислота, хлорид кальция, и Пищевая сода .
Положите примерно ½ чайной ложки лимонной кислоты, ½ чайной ложки хлорида кальция и примерно 1 чайную ложку пищевой соды в чашки с этикетками для каждой группы.
Приготовьте индикаторный раствор для студенческих групп:
Приготовьте разбавленный универсальный индикаторный раствор, смешав 325 мл воды с 25 мл универсального индикаторного раствора. Этого количества должно хватить на 10 групп студентов.
Налейте 30 мл разбавленного раствора универсального индикатора в чистую пластиковую чашку для каждой группы учащихся. Вам также понадобится 50 мл разбавленного индикаторного раствора для демонстрации в разделе РАСШИРЕНИЕ.
Примечание: Вода из-под крана, вероятно, подойдет для демонстрации и занятий в этом уроке. Если разбавленный раствор универсального индикатора не зеленого цвета, это означает, что ваша вода либо слегка кислая, либо слабощелочная. В этом случае используйте дистиллированную воду (продается в супермаркетах и аптеках) для разбавления универсального индикатора.
.