Функциональное состояние организма младших школьников при использовании электронных средств обучения | Александрова И.Э., Айзятова М.В.
ВведениеСовременное качественное школьное обучение невозможно без цифровой образовательной среды, использования электронных средств. Согласно Федеральному закону от 29.12.2012 № 273-ФЗ (ред. от 30.04.2021) «Об образовании в Российской Федерации» (вступ. в силу с 01.06.2021) и Федеральным государственным образовательным стандартам общего образования школы обязаны активно использовать информационно-коммуникационные технологии и средства электронного обучения; так, в Москве активно развивается проект «Московская электронная школа» [1].
Одна из важнейших задач Национального проекта РФ «Образование», стартовавшего в 2019 г., — это «создание к 2024 г. современной и безопасной цифровой образовательной среды, обеспечивающей высокое качество и доступность образования всех видов и уровней». Наряду с преимуществами применения цифровых технологий в школе данный процесс сопряжен с возможными потенциальными рисками нарушения здоровья обучающихся, особенно младших классов, что обусловлено повышенной чувствительностью растущего организма к средовым факторам [2].
Этиология многих функциональных нарушений связана с воздействием на детский организм цифровых устройств, электронных средств обучения. Показано, что длительность их использования связана как с нарушением зрения, осанки, сна, так и с отклонениями в психическом статусе ребенка, с формированием его когнитивных функций [5–10].
Ежедневное длительное пребывание у экрана и многозадачное использование гаджетов связаны с нарушениями настроения, внимания, памяти, вербального интеллекта, академической успеваемостью, а также с импульсивностью. Данные нейроморфологических и нейрофизиологических исследований свидетельствуют, что при интенсивном использовании гаджетов происходят перестройки мозговых механизмов внимания и памяти, а у детей снижаются темпы созревания корковых зон, отвечающих за речь, внимание, эмоции, подкрепление и исполнительные функции [11–17].
Показана роль использования современных технологий, мобильных телефонов в формировании нарушений зрения, ухудшения умственной работоспособности (УР) у детей [18, 19].Согласно данным современных исследований «электронные средства способствуют удержанию внимания обучающихся на экране монитора, повышению зрительной концентрации, тем самым существенно увеличивая длительность работы органа зрения. Характер взаимодействия с электронными устройствами отличается от традиционных учебных занятий и предполагает формирование особого динамического стереотипа и дополнительной мобилизации функциональных возможностей организма детей» [20]. В научных публикациях по эргономике и зрению в связи с электронными устройствами в основном делается акцент на гигиенических аспектах зрительной работы [21].
Одними из самых распространенных цифровых средств обучения являются электронные доски, заменяющие традиционные меловые. Последнее поколение электронных досок — интерактивные панели (ИП) представляют собой большой сенсорный экран, способный реагировать на прикосновения пользователя, обрабатывать полученные команды и выводить на экран необходимые данные. Так, к началу 2020–2021 учебного года в рамках Национального проекта РФ «Образование» в школы страны поставлено почти 2000 интерактивных досок и панелей [22].
Широкое внедрение ИП в обучение школьников, начиная с младших классов, обусловливает необходимость изучения влияния их использования на организм детей.
Анализ комплекса факторов внутришкольной среды показал, что параметры микроклимата (температуры, относительной влажности воздуха) и аэроионного состава воздуха в классах с ИП имели более выраженную негативную динамику в течение учебного дня, чем в кабинетах с традиционной меловой доской [23].
В процессе изучения влияния использования ИП на самочувствие обучающихся выявлено повышенное утомление детей, негативное влияние яркого света от панели, повышение температуры воздуха. Среди основных жалоб детей отмечены: боль в области глаз, головная боль, ухудшение самочувствия и т. п. [24].
Некомфортность ряда параметров внутришкольной среды, обусловленная в том числе нерегламентируемым применением ИП на уроках, способствует повышению рисков нарушения здоровья школьников и актуализирует поставленную в нашем исследовании цель: физиолого-гигиеническое обоснование и регламентация использования ИП на уроках для обеспечения безопасных для здоровья школьников условий обучения в цифровой среде.
Для реализации цели исследования решались следующие задачи:
изучение влияния использования ИП на функциональное состояние организма (ФСО) первоклассников в сравнении с показателями ФСО у первоклассников из контрольного класса, в котором на уроках использовалась традиционная учебная меловая доска;
сравнительный анализ параметров ФСО школьников после уроков с разной продолжительностью использования ИП, оцененной методом хронометражных наблюдений за учебной деятельностью на уроке.
В рамках работы проведены нерандомизированные контролируемые исследования с соблюдением этических норм, изложенных в Хельсинкской декларации и Директивах Европейского сообщества (8/609ЕС).
Критерии включения: обучение в 1-х классах общеобразовательных организаций, наличие письменного информированного согласия от родителей на проведение исследований. Критерий невключения: несоответствие критериям включения.
С целью оценки влияния уроков с использованием ИП на организм школьника была проведена серия исследований в двух 1-х классах: в одном на занятиях использовалась ИП (экспериментальный класс), а в другом — традиционная учебная меловая доска (контрольный класс).
Всего в исследовании приняли участие 54 школьника. По возрасту и полу группы детей из сравниваемых классов значимо не различались: в экспериментальном классе было 28 детей, в том числе 15 мальчиков и 13 девочек, средний возраст 7 лет 8 мес.; в контрольном классе — 26 детей, в том числе 14 мальчиков и 12 девочек, средний возраст 7 лет 9 мес.
В контрольном классе оценка психофизиологических показателей проводилась ежедневно на протяжении недели перед началом учебного дня и в конце учебного дня (после последнего урока), поскольку ИП на уроках не применялась.
В экспериментальном классе замеры проводились также ежедневно на протяжении учебной недели, но не только перед первым занятием и после последнего занятия в течение учебного дня, но также и по окончании каждого школьного урока с применением ИП.
Применялся комплекс гигиенических, физиологических, а также статистических методов исследования.
Влияние использования ИП на уроке на ФСО школьника оценивали путем сравнения дневной динамики (и средненедельных значений) изучаемых показателей в двух классах. Анализ показателей ФСО ребенка после каждого урока в экспериментальном классе проводился для обоснования оптимально безопасного времени использования ИП.
Условия обучения, объем учебной нагрузки, расписание уроков в изучаемых классах были одинаковыми.
Исследования базировались на изучении УР, которая является интегральным показателем ФСО ребенка и имеет определяющее значение для учебной деятельности. Оценку УР проводили по результатам корректурного теста — дозированной по времени методике (С.М. Громбах, 1975), позволяющей получать информацию об основных параметрах, характеризующих УР: числе просмотренных знаков и количестве сделанных ошибок [25]. Соотношение данных показателей определяет продуктивность работы, и ей дается комплексная оценка: «отличная», «хорошая», «удовлетворительная», «плохая», «неудовлетворительная». Исходя из соотношения суммы «отличных» и «хороших» оценок к сумме «плохих» и «неудовлетворительных» вычисляется интегральный показатель работоспособности классного коллектива, его оптимальный уровень более 1,0 усл. ед. («удовлетворительные» оценки для расчета данного показателя не применяются).
Динамику функционального состояния центральной нервной системы оценивали с учетом характера индивидуальных сдвигов УР от начала к концу урока. Для анализа влияния организации обучения на УР школьников выбрали сдвиги, отражающие явное и выраженное утомление: когда наблюдается снижение (сохранение) числа просмотренных знаков при сохранении (возрастании) ошибок. За отсутствие изменений принимали колебания количества прослеженных знаков в пределах ±5% и количества ошибок ±0,5 на 500 знаков от исходных величин. При оценке изменений, происходящих за урок и учебный день, учитывалось суммарное количество сдвигов, отражающих явное и выраженное утомление.
Изучение функционального состояния зрительного анализатора проведено с помощью показателя критической частоты слияния мельканий (КЧСМ), одновременно характеризующего и функциональное состояние коры головного мозга [26].
Изучение КЧСМ широко используется в физиолого-гигиенических исследованиях для диагностики умственного и зрительного утомления.Для обоснования безопасной длительности использования ИП в течение всего периода исследования ФСО детей в классах с применением ИП параллельно у этих же детей проводились хронометражные наблюдения за организацией учебной деятельности: регистрировалась продолжительность использования ИП, которая изначально не была задана, а определялась планом педагога. Поскольку особенности работы с ИП не позволяют обосновать безопасные гигиенические регламенты непрерывной длительности ее применения на уроке, рассчитывали суммарное (за урок) время использования. В экспериментальном классе проведено сравнение изучаемых показателей детей после уроков с различной продолжительностью использования ИП.
Расчет размера выборки проведен по методике К.А. Отдельновой [27]. Результаты исследования подвергнуты статистической обработке с использованием методов параметрического и непараметрического анализа. Количественные показатели оценивались на предмет соответствия нормальному распределению (критерий Колмогорова — Смирнова, показатели асимметрии и эксцесса). Для данных, объединенных в вариационные ряды, проводился расчет средних арифметических величин (M), средних ошибок средних арифметических (m). Для оценки значимости различий в нормально распределенных совокупностях рассчитывался t-критерий Стьюдента. Статистически значимыми различия показателей считались при p<0,05. Статистическая значимость различий количественных показателей независимых групп определялась путем расчета критерия F (однофакторный дисперсионный анализ) с учетом поправки Бонферрони (при р<0,017) при апостериорном сравнении групп [28]. Для связанных выборок (значений до и после урока) при сравнении средних показателей использовался парный t-критерий Стьюдента. Статистический анализ проводился с использованием программы Statistica 13.3 (разработчик — StatSoft. Inc).
Результаты исследования
В результате сравнительного анализа показателей УР двух классов установлено, что в динамике уроков среди первоклассников, обучающихся с применением ИП, чаще регистрировалось явное и выраженное утомление (р<0,05), снижалось количество просмотренных знаков в тестах. Увеличение числа ошибок после урока отмечалось у обучающихся обеих групп (табл. 1).
Интегральный показатель работоспособности классного коллектива более выраженно изменялся после уроков с применением ИП, отражая превалирование доли «неудовлетворительно» и «плохо» выполненных корректурных тестов над количеством «отличных» и «хороших». Указанный показатель, будучи в экспериментальном классе вдвое выше в начале учебного дня, к концу занятий становился в 2 раза ниже, чем в контрольном.
Снижение параметров КЧСМ, свидетельствующее об ухудшении функционального состояния зрительного анализатора, было статистически значимо более выражено в экспериментальном классе (р<0,01).
Анализ средненедельных показателей УР также выявил, что обучающиеся контрольного класса делали меньше ошибок в тестах и у них значимо реже отмечались признаки явного и выраженного утомления (табл. 2).
Зрительная работоспособность первоклассников, обучающихся в классе с традиционными досками, была статистически значимо более устойчивой по сравнению со школьниками экспериментального класса (КЧСМ 37,1±0,15 против 35,3±0,2; р<0,01).
Для обоснования безопасной длительности использования ИП проанализировали изменения показателей УР обучающихся после уроков с различной продолжительностью применения ИП. По данным хронометражных наблюдений за организацией учебной деятельности было установлено, что суммарная продолжительность использования ИП на уроках составляла от 5 до 30 мин. В итоге все школьные уроки в зависимости от суммарного времени применения ИП были разделены на 3 группы: использование ИП не более 10 мин; использование ИП 11–20 мин; использование ИП 21–30 мин. Проведено сравнение показателей ФСО школьников в конце уроков с различной продолжительностью использования ИП (табл. 3).
На занятиях, где ИП суммарно использовалась более 10 мин, отмечали существенно менее благоприятные показатели УР: меньшее число просмотренных знаков, более низкие значения интегрального показателя УР, высокая доля детей с признаками явного и выраженного утомления. Параметры, характеризующие КЧСМ после уроков, на которых ИП использовалась более 10 мин, также свидетельствовали о большем зрительном напряжении.
ОбсуждениеСогласно результатам ряда исследований последних лет [3, 10, 18, 19] установлено, что обучение современных школьников сопровождается большим объемом и интенсивностью учебной деятельности, отмечается высокая длительность непрерывного использования учащимися электронных устройств в учебное и каникулярное время, что обусловливает необходимость введения гигиенического нормирования, в частности частоты и продолжительности применения электронных средств обучения.
Изучение влияния использования ИП (электронного средства обучения последнего поколения) в процессе урока на ФСО младших школьников показало, что при нерегламентированном применении ИП регистрировалась более негативная динамика показателей умственной и зрительной работоспособности первоклассников по сравнению с занятиями, на которых использовалась традиционная меловая доска.
Полученные результаты согласуются с данными проведенных ранее исследований, касающихся регламентации использования ноутбука, персонального компьютера, ИП проекторного типа [29]. Так, применение ИП, повышая мотивацию и работоспособность учащихся, при нерегламентированном использовании значительно повышает интенсификацию учебной деятельности, риск переутомления школьников, обусловливает появление ряда жалоб на нарушение самочувствия учащихся и педагогов. Имеются исследования, описывающие возникновение подобных жалоб у участников образовательного процесса при применении ИП [24]. Комплексный анализ динамики ФСО учащихся в зависимости от различной продолжительности применения электронных средств обучения на уроках позволил обосновать безопасные регламенты использования ИП проекторного типа, а также персонального компьютера с жидкокристаллическим монитором и ноутбука. Использование электронных средств свыше установленных регламентов обусловливало значимую негативную динамику тех или иных показателей ФСО ребенка [29].
При нормировании продолжительности применения ИП нами был использован аналогичный подход, позволивший установить для первоклассников предельное время применения ИП на уроке, превышение которого значимо уменьшало количество просмотренных знаков в тестах и увеличивало долю детей, имеющих «неблагоприятные» сдвиги в динамике УР, а также значимо ухудшало показатели КЧСМ. Это согласуется с научными работами, свидетельствующими о выраженном снижении КЧСМ при напряженной зрительной работе, в том числе при чтении с LCD-дисплея [20, 30].
Таким образом, применение ИП на уроке в 1-х классах свыше 10 мин, обусловливая более неблагоприятные показатели умственной и зрительной работоспособности детей, повышает риск возникновения у них переутомления и развития «школьных» болезней. Результаты исследования использованы при подготовке санитарно-гигиенических документов, регламентирующих режим работы организаций воспитания и обучения детей.
Исследования по обоснованию безопасной длительности использования ИП для учащихся других возрастных групп продолжаются.
ЗаключениеДля сохранения оптимального ФСО школьников, предотвращения развития переутомления и профилактики возникновения школьно-обусловленных заболеваний в условиях цифровой среды необходима строгая регламентация использования электронных средств обучения на уроках при соблюдении гигиенически оптимальных условий их эксплуатации, и в частности ИП. Организация медицинского обеспечения обучающихся должна включать и вопросы безопасного для здоровья использования цифровых средств, что определяет необходимость актуализации знаний школьных медицинских работников (на этапе обучения в вузах, колледжах, при повышении профессиональной квалификации и т. п.) по данному направлению деятельности. Оптимальные условия и режим использования электронных средств обучения на основе физиолого-гигиенической оценки их влияния на ФСО детей — важнейшая составляющая формирования профилактической среды в современной школе.
Сведения об авторах:
Александрова Ирина Эрнстовна — д.м.н., заведующая лабораторией НИИ гигиены и охраны здоровья детей и подростков ФГАУ «НМИЦ здоровья детей» Минздрава России; 119991, Россия, г. Москва, Ломоносовский пр-т, д. 2, стр. 1; ORCID iD 0000-0002-8664-1866.
Айзятова Марина Викторовна — соискатель НИИ гигиены и охраны здоровья детей и подростков ФГАУ «НМИЦ здоровья детей» Минздрава России; 119991, Россия, г. Москва, Ломоносовский пр-т, д. 2, стр. 1; врач по общей гигиене отдела гигиены детей и подростков филиала ФБУЗ «Центр гигиены и эпидемиологии в городе Москве» в СВАО города Москвы; 129327, Россия, Москва, ул. Летчика Бабушкина, д. 19/1; ORCID iD 0000-0003-0381-3253.
Контактная информация: Александрова Ирина Эрнстовна, e-mail: [email protected].
Прозрачность финансовой деятельности: никто из авторов не имеет финансовой заинтересованности в представленных материалах или методах.
Конфликт интересов отсутствует.
Статья поступила 28.02.2022.
Поступила после рецензирования 25.03.2022.
Принята в печать 19.04.2022.
About the authors:
Irina E. Alexandrova — Dr. Sc. (Med.), Head of the Laboratory of the Research Institute of Hygiene and Health Protection of Children and Adolescents, National Medical Research Center for Children’s Health; 1 bldn. 2, Lomonosovsky Av., Moscow, 119991, Russian Federation; ORCID iD 0000-0002-8664-1866.
Marina V. Aizatova — candidate of the Research Institute of Hygiene and Health Protection of Children and Adolescents, National Medical Research Center for Children’s Health; 1 bldn. 2, Lomonosovsky Av., Moscow, 119991, Russian Federation; hygiene specialist of the Department of Hygiene of Children and Adolescents, Moscow Center of Hygiene and Epidemiology; 19/1 Letchika Babushkina str., Moscow, 129327, Russia Federation; ORCID iD 0000-0003-0381-3253.
Contact information: Irina E. Alexandrova, e-mail: [email protected].
Financial Disclosure: no authors have a financial or property interest in any material or method mentioned.
There is no conflict of interests.
Received 28.02.2022.
Revised 25.03.2022.
Accepted 19.04.2022.
ФУНКЦИОНАЛЬНОЕ СОСТОЯНИЕ ПОЧЕК И СЕРДЕЧНО- СОСУДИСТЫЙ РИСК У БОЛЬНЫХ С АРТЕРИАЛЬНОЙ ГИПЕРТЕНЗИЕЙ И ОЖИРЕНИЕМ: РОЛЬ ЛЕПТИНА И АДИПОНЕКТИНА | Стаценко
ВВЕДЕНИЕ
На сегодняшний день ожирение стало одной из наиболее важных медико-социальных проблем в мире в связи с высокой распространенностью и существенными затратами на преодоление его последствий [1]. Оно рассматривается как важнейший фактор риска артериальной гипертензии (АГ), сахарного диабета (СД) 2 типа и других коморбидных состояний, которые приводят к развитию хронической болезни почек (ХБП) [2, 3].
Целью исследования явилась оценка роли лабораторных маркеров ожирения (лептина и адипонектина) в прогрессировании ХБП и развитии сердечно-сосудистых осложнений у больных с АГ и ожирением.
ПАЦИЕНТЫ И МЕТОДЫ
Проведено открытое сравнительное проспективное исследование в параллельных группах: включено 120 больных c АГ II-III стадий в возрасте от 45 до 70 лет с недостигнутыми целевыми значениями артериального давления (АД). За 5-7 дней до рандомизации всем пациентам отменяли антигипертензивные препараты («отмывочный период»). Пациенты были разделены на четыре сопоставимые по полу, возрасту, частоте встречаемости курения, длительности АГ, уровню офисного систолического АД (САД) и диастолического АД (ДАД) группы в зависимости от индекса массы тела (ИМТ) — табл. 1.
Критерии исключения из исследования: злокачественная АГ, острый коронарный синдром и острое нарушение мозгового кровообращения давностью менее 6 мес, гемодинамически значимые пороки сердца и нарушения ритма, СД 1 типа, ожирение III степени, тяжелые заболевания эндокринной системы, помимо СД, клинически выраженная печеночная недостаточность, ХБП 3б стадии и выше, зависимость от алкоголя (прием алкоголя более 30 г/сут), любые другие заболевания, которые могли повлиять на результаты исследования.
Физикальное обследование включало оценку общего состояния, измерение офисного АД на обеих руках по стандартной методике, подсчет частоты сердечных сокращений (ЧСС), антропометрию с расчетом ИМТ, измерение окружности талии (ОТ) и окружности бедер (ОБ) сантиметровой лентой, а также состава тела методом биоэлектрического импеданса на мониторе «Omron BF-508» — анализировали процент содержания в организме подкожного и висцерального жира. Под абдоминальным ожирением подразумевали ОТ > 102 см у мужчин и ОТ > 88 см у женщин, а под висцеральным ожирением — >9 % висцерального жира в организме [4].
Функциональное состояние почек оценивали путем определения протеинурии (ПУ) по соотношению протеинурия/креатинин в утренней порции мочи (пирогаллоловым красным методом с помощью наборов реагентов для определения белка в моче «Юни-Тест-БМ», ООО «Эйлитон», Россия), экскреции альбумина с мочой — альбуминурии (АУ) по соотношению альбумин/креатинин в утренней порции мочи (иммунотурбидиметрическим методом с помощью наборов «Микроальбумин — 12/22», ОАО «Витал Девелопмент Корпорэйшн», Россия на биохимическом анализаторе Liasys (AMS, Италия)), креатинина крови (методом Яффе при помощи колориметра фотоэлектрического концентрационного «КФК-2-УХЛ 4.2», Россия и набора реактивов «PLIVA-Lachema a.s.», Чехия) с расчетом скорости клубочковой фильтрации (СКФ) по формуле CKD-EPI (Chronic Kidney Desease Epidemiology Collaboration) [5].
Проводили анализ сочетанного риска прогрессирования ХБП и развития сердечно-сосудистых осложнений в зависимости от СКФ и АУ [6].
Таблица 1 / Table 1
Клинико-демографические показатели включенных в исследование больных (Мe [Q1;Q2])
Clinical and demographic indicators of patients included in the study (Мe [Q1;Q2])
Показатель | 1-я группа (нормальная масса тела) | 2-я группа (избыточная масса тела) | 3-я группа (ожирение I степени) | 4-я группа (ожирение II степени) |
---|---|---|---|---|
Число больных, n (%) | 30 (25) | 30 (25) | 30 (25) | 30 (25) |
Мужчины/женщины, % | 40,0/60,0 | 53,3/46,7 | 50,0/50,0 | 46,7/53,3 |
Возраст, лет | 58,0 [52,0; 62,0] | 60,0 [53,0; 63,0] | 61,0 [57,0; 64,0] | 60,0 [55,0; 64,0] |
ИМТ, кг/м2 | 23,4 [22,0; 24,8] | 27,8* [27,2; 29,4] | 31,1*,t [30,4; 32,4] | 36,9*§** [35,4; 37,3] |
ОТ/ОБ, у. е. | 0,87 [0,76; 0,94] | 0,94 [0,81; 0,98] | 0,96* [0,89; 0,99] | 0,98* [0,88; 1,04] |
Доля больных с абдоминальным ожирением, % | 0 | 56,7# | 100#, ## | 100#, ## |
Подкожный жир,% | 22,0 [19,2; 30,5] | 32,1* [24,2; 39,8] | 38,4* [31,2; 43,5] | 41,4* [35,8; 46,3] |
Висцеральный жир,% | 7,5 [7,0; 10,0] | 10,0* [8,0; 13,0] | 13,5*,t [11,0; 18,0] | 21,0*§** [16,0; 22,0] |
Доля больных с висцеральным ожирением,% | 33,3 | 63,3# | 100#, ## | 100#, ## |
Курящие, % | 26,7 | 30 | 23,3 | 26,7 |
Длительность АГ, лет | 13,0 [10,0; 17,0] | 14,0 [11,0; 16,0] | 14,0 [11,0; 17,0] | 15,0 [10,0; 18,0] |
Наличие СД 2 типа, % | 0 | 36,7# | 76,7#, ## | 80,0#, ## |
Длительность СД, лет | 0 | 6,0* [6,0; 8,0] | 7,0* [6,0; 9,0] | 6,0* [5,0; 8,0] |
САДофисное, мм рт. ст. | 150 [145; 160] | 148 [140; 154] | 154 [150; 166] | 156 [152; 166] |
ДАДофисное, мм рт. ст. | 91 [90; 100] | 92 [90; 102] | 94 [94; 104] | 92 [90; 100] |
ЧСС, уд/мин | 66,5 [58; 76] | 73,0 [69; 79] | 73,0 [72; 81] | 72,0 [60; 80] |
Достоверность различий в сравнении с 1-й группой при р<0,017; f достоверность различий между 2-й и 3-й группами при р2-3<0,0085; § достоверность различий между 2-й и 4-й группами при р2-4<0,0085; ** достоверность различий между 3-й и 4-й группами при р3-4<0,0085; # достоверность различий дихотомических показателей в сравнении с 1-й группой при р<0,05; ## достоверность различий дихотомических показателей в сравнении со 2-й группой при р<0,05.
Оценивали лабораторные маркеры ожирения: уровень лептина (наборы «Leptin, Diagnostics Biochem», Канада) и адипонектина (наборы «Adiponectin, Mediagnost, GmbH», Германия) сыворотки крови определяли с помощью «сэндвич»-варианта твердофазного иммуноферментного метода на анализаторе «Униплан», Россия.
Статистический анализ результатов проводили с использованием пакета встроенных функций программы «Microsoft Excel 2010» и программы «STATISTICA 10.0» («StatSoft Inc», США). Нормальность распределений показателей оценивали по критерию Шапиро-Уилка. Критерию нормальности не соответствовал ни один из исследуемых показателей. Данные представлены в виде Me[Q1;Q2], где Me — медиана, [Q1;Q2] — 25 и 75 процентили соответственно, для качественных величин — частоты встречаемости (%). Множественное сравнение признаков независимых выборок проводили с помощью критерия Краскела-Уоллиса. Нулевую статистическую гипотезу об отсутствии различий отвергали при p<0,05. При наличии достоверных различий по критерию Краскела-Уоллиса использовали попарное сравнение групп по Манну-Уитни. Статистически значимыми считали различия при p<0,017 при сравнении с контрольной 1-й группой и p<0,0085 при сравнении остальных групп между собой. В случае дихотомических показателей статистическая значимость различий долей оценивалась с использованием точного метода Фишера. Для оценки статистики связей проводили корреляционный анализ по Спирмену. Нулевую статистическую гипотезу об отсутствии различий и связей отвергали при p<0,05.
Исследование проводилось в соответствии с этическими принципами, изложенными в Хельсинкской Декларации Всемирной Медицинской Ассоциации (2008 г.), трехсторонним соглашением по Надлежащей Клинической Практике (ICH GCP), Конституцией РФ, Федеральным законом Российской Федерации № 323-ФЗ «Об основах охраны здоровья граждан в Российской Федерации» от 21 ноября 2011 г.
Проведение клинического исследования одобрено Региональным Этическим комитетом — протокол одобрения № 192 — 2014 от 11.03.2014 г. Информированное согласие было получено у участников исследования до начала выполнения любых процедур исследования.
РЕЗУЛЬТАТЫ
Пациенты достоверно различались не только по ИМТ, но и % подкожного жира — он был ниже в 1-й группе по сравнению со 2-, 3-й и 4-й группами (22,0 vs 32,1, 38,4, 41,4% соответственно). Содержание висцерального жира нарастало от 1-й к 4-й группе (различия между всеми группами статистически значимы) — табл. 1. Отмечены достоверный рост соотношения ОТ/ОБ у больных 3-й и 4-й групп по сравнению с больными 1-й группы (0,96 и 0,98 vs 0,87 соответственно) и увеличение частоты встречаемости СД 2 типа — см. табл. 1. Обращал на себя внимание высокий процент выявления абдоминального ожирения в группе больных с избыточной массой тела — 56,7% и висцерального ожирения: 33,3% среди лиц с нормальным ИМТ и 63,3% среди лиц с избыточной массой тела.
Таблица 2 / Table 2
Функциональное состояние почек включенных в исследование больных (Me [Q1;Q2])
Functional state of the kidneys included in the study patients (Ne [Q1;Q2])
Показатель | 1-я группа (нормальная масса тела) | 2-я группа (избыточная масса тела) | 3-я группа (ожирение I степени) | 4-я группа (ожирение II степени) |
---|---|---|---|---|
ПУ, мг/г | 101,3 [47,9; 116,9] | 204,7 [112,4; 221,2] | 301,3* [138,1; 691,0] | 305,7* [139,4; 646,9] |
АУ, мг/г | 42,2 [41,3; 51,1] | 55,3 [44,9; 81,3] | 91,0* [65,9; 273,5] | 119,2* [91,0; 291,2 |
СКФ (CKD-EPI), мл/мин/1,73 м2 | 72 [64; 98] | 68 [59; 82] | 63* [59; 73] | 61* [42; 71] |
ХБП 1 стадии, % | 20 | 0* | 0* | 0* |
ХБП 2 стадии, % | 80 | 60* | 60* | 56,7* |
ХБП 3а стадии, % | 0 | 40* | 23,3*, ** | 20*, ** |
ХБП 3б стадии, % | 0 | 0 | 16,7* | 23,3* |
* Достоверность различий в сравнении с 1-й группой при р<0,017; * достоверность различий дихотомических показателей в сравнении с 1-й группой при р<0,05; ** достоверность различий дихотомических показателей в сравнении со 2-й группой при р<0,05.
Таблица 3 / Table 3
Оценка сочетанного риска прогрессирования ХБП и развития сердечно-сосудистых осложнений в зависимости от СКФ и АУ включенных в исследование больных
Assessment of the combined risk of CKD progression and development of cardiovascular complications depending on GFR and ahalbuminuria of patients included in the study
Показатель | 1-я группа (нормальная масса тела) | 2-я группа (избыточная масса тела) | 3-я группа (ожирение I степени) | 4-я группа (ожирение II степени) |
---|---|---|---|---|
Низкий риск, % | 20 | 20* | 0* | 0* |
Умеренный риск, % | 80 | 66,7 | 60* | 43,3* |
Высокий риск, % | 0 | 13,3 | 20* | 36,7* |
Очень высокий риск, % | 0 | 0* | 20** | 20* |
* Достоверность различий в сравнении с 1-й группой при р<0,05; * достоверность различий в сравнении с 4-й группой при р<0,05.
При анализе функционального состояния почек — табл. 2 — отмечено достоверное увеличение уровня ПУ и АУ среди пациентов 3-й и 4-й группы по сравнению с 1-й группой (301,3 [138,1; 691,0] и 305,7 [139,4; 646,9] vs 101,3 [47,9; 116,9] мг/г; 91,0 [65,9; 273,5] и 119,2 [91,0; 291,2 vs 42,2 [41,3; 51,1] мг/г соответственно), а также статистически значимое снижение СКФ у больных 3-й и 4-й групп в сравнении с больными 1-й группы (63 [59; 73] и 61 [42; 71] vs 72 [64; 98] мл/мин/1,73 м2).
С увеличением ИМТ частота выявления лиц с более тяжелыми стадиями ХБП достоверно увеличивалась — см. табл. 2.
Анализ сочетанного риска прогрессирования ХБП и развития сердечно-сосудистых осложнений показал статистически значимый рост очень высокого риска при сравнении больных 3-й и 4-й групп и больных 1-й и 2-й групп (20 vs 0%) — табл. 3.
Концентрация лептина в сыворотке крови увеличивалась от 1-й к 4-й группе (достоверные различия выявлены между 2-, 3-, 4-й группами в сравнении с 1-й группой и между 4-й группой в сравнении со 2-й группой) в то время как концентрация адипонектина наоборот уменьшалась от 1-й к 4-й группе (различия достоверны между 2-, 3-, 4-й группами в сравнении с 1-й группой) — табл. 4.
Таблица 4 / Table 4
Маркеры ожирения у больных, включенных в исследование (Me [Q1;Q2])
Markers of obesity in patients included in the study (Ne [Q1;Q2])
Показатель | 1-я группа (нормальная масса тела) | 2-я группа (избыточная масса тела) | 3-я группа (ожирение I степени) | 4-я группа (ожирение II степени) |
---|---|---|---|---|
Лептин, нг/мл | 9,9 [6,9; 16,4] | 21,6* [11,0; 36,3] | 29,2* [15,7; 53,8] | 38,4*§ [22,0; 59,5] |
Адипонектин, нг/мл | 29,9 [27,5; 44,1] | 15,6* [8,8; 26,2] | 14,1* [10,2; 18,6] | 12,9* [7,3; 18,3] |
* Достоверность различий в сравнении с 1-й группой при р<0,017; § достоверность различий между 2-й и 4-й группами при р2-4<0,0085.
При проведении корреляционного анализа были выявлены высокодостоверная прямая взаимосвязь между концентрацией лептина и ИМТ (r=0,52, p<0,05) и обратная — между концентрацией адипонектина и ИМТ (r=-0,51, p<0,05).
Процент подкожного жира более тесно связан с уровнем лептина сыворотки (r=0,87, р<0,05), чем с уровнем адипонектина (r=-0,26, р<0,05), в то время как процент висцерального жира более сильно коррелирует с адипонектином (r=-0,48, р<0,05).
При оценке взаимосвязей между лабораторными маркерами ожирения и функциональным состоянием почек выявлены статистически значимые обратная корреляция между СКФ и концентрацией лептина (r=-0,42, p<0,05), прямая корреляция между концентрацией адипонектина и СКФ (r=0,36, p<0,05), обратная — между концентрацией адипонектина и ПУ (r=-0,33, p<0,05), АУ (r=-0,24, p<0,05).
Обнаружены взаимосвязи между сочетанным риском прогрессирования ХБП и развития сердечно-сосудистых осложнений и уровнем лептина (r=0,54, p<0,05), а также адипонектина (r=- 0,22, p<0,05).
ОБСУЖДЕНИЕ
С увеличением ИМТ закономерно возрастал процент подкожного и висцерального жира, соотношение ОТ/ОБ и, как следствие, — достоверное увеличение процента встречаемости больных с СД 2 типа в связи с формированием инсулинорезистентности (ИР). В более ранних наших работах мы указывали на наличие прямых высокодостоверных сильных корреляционных связей между уровнем висцерального жира в организме и расчетными индексами, характеризующими степень выраженности ИР [7]. Рост ИР и сопряженное с ним повышение кардиоваскулярных и почечных рисков у больных с ожирением связаны со снижением и последующей потерей чувствительности к инсулину, мембранные рецепторы которого расположены в жировой ткани [8-11].
Практическая значимость выявления высокого процента больных с абдоминальным ожирением в группе больных с избыточной массой тела и висцеральным ожирением в группе лиц с нормальным и избыточным ИМТ заключается в необходимости оценки не только ИМТ при диагностике ожирения, но и значений ОТ, соотношения ОТ/ОБ, а также содержания висцерального жира в организме.
В предыдущих исследованиях мы подробно рассматривали механизмы воздействия на почки избыточной массы тела и ожирения, показали связь между параметрами висцерального ожирения и функциональным состоянием почек у больных с сердечно-сосудистыми заболеваниями [7].
Сегодня жировую ткань рассматривают как активный эндокринный орган, который не только содержит рецепторы значительного числа гормонов, но и сам продуцирует более 50 пептидных гормонов-адипоцитокинов [12]. Часть из них обладают защитными свойствами, а другая часть способны запускать патогенетические механизмы, приводящие к повреждению органов-мишеней. Современным медицинским сообществом широко обсуждается роль лептина и адипонектина, в основном секретируемых адипоцитами. Имеются данные о возможности активации лептина симпатической нервной системы при ожирении [13]. В дополнение к хронической гиперлептинемии вследствие резистентности тканей к лептину локальный синтез ангиотензиногена адипоцитами и гиперинсулинемия способствуют развитию и прогрессированию АГ при ожирении и ХБП [14, 15]. Кроме того, увеличение почками канальцевой экспрессии Na-K-АТФазы и сниженный ответ на натрийуретические гормоны при ожирении приводят к задержке соли и воды [16]. Гломерулярная гиперфильтрация из-за системной объемной нагрузки и гипертензии способствует мезангиальной клеточной пролиферации и прогрессирующему фиброзу почек [14].
Влияние гиперлептинемии на почку может способствовать развитию и/или прогрессированию ХБП в селективных состояниях резистентности, таких как ожирение или СД 2-го типа. Механизмы повреждения почек, вероятно, являются результатом избыточных и нежелательных гемо- динамических влияний, а также профибротических эффектов лептина [15].
Адипонектин является противовоспалительным адипокином и сенсибилизатором инсулина [17, 18]. При проведении корреляционного анализа обнаружены более тесные взаимосвязи функционального состояния почек с уровнем адипонектина по сравнению с уровнем лептина. Полученные нами результаты сопоставимы с данными зарубежных коллег. Имеются работы, в которых показано, что увеличение уровня адипонектина приводит к уменьшению альбуминурии, гломерулярной гипертрофии и снижению воспалительной реакции в ткани почек [17, 18]. Ренозащита адипонектином связана с улучшением эндотелиальной дисфункции, снижением окислительного стресса и усилением экспрессии синтазы эндотелиального оксида азота за счет активации аденозиновой 5′-монофосфат-активированной протеинкиназы с помощью AdipoR1 и активации рецептора пролифератором пероксисом (PPAR) -α сигнальным путем AdipoR2 [17]. В свою очередь снижение уровня АУ и ПУ приводит не только к замедлению прогрессирования ХБП, но и снижению риска сердечно-сосудистых осложений у больных с АГ и ожирением.
ЗАКЛЮЧЕНИЕ
Мы выявили статистически значимое прогрессирующее ухудшение функционального состояния почек, а также увеличение сочетанного риска прогрессирования ХБП и развития сердечнососудистых осложнений у больных с АГ при нарастании ожирения при сопоставимых цифрах САДофисное и ДАДофисное, среди изучаемых групп. Выявленные достоверные корреляционные взаимосвязи между параметрами, характеризующими функцию почек и маркерами ожирения, свидетельствуют о важной патогенетической роли лептина и адипонектина в развитии и прогрессировании ХБП у больных с АГ и ожирением. Необходимы работы, в которых будет оценено функциональное состояние почек во взаимосвязи с лабораторными маркерами ожирения на фоне снижения массы тела и лекарственной коррекции АГ.
1. Шляхто ЕВ, Недогода СВ, Конради АО. Национальные клинические рекомендации «Диагностика, лечение, профилактика ожирения и ассоциированных с ним заболеваний». СПб., 2017;1-164 [Shlyakhto EV, Nedogoda SV, Konradi AO. National clinical recommendations «Diagnosis, treatment, prevention of obesity and associated diseases». St. Petersburg, 2017;1-164]
2. World Health Organization Media Centre. Obesity and overweight. Fact sheet no Geneva: World Health Organization; 2013.
3. Hall ME, do Carmo JM, da Silva AA et al. Obesity, hypertension, and chronic kidney disease. Int J Nephrol Renovasc Dis 2014:18(7):75-88. Doi: 10.2147/IJNRD.S39739
4. Недогода СВ, Барыкина ИН, Саласюк АС. Национальные клинические рекомендации по ожирению: концепция и перспективы. Вестник Волгоградского государственного медицинского университета 2017: 1 (61):134-140 [Nedogoda SV, Barykina IN, Salasyuk AS. National clinical recommendations for obesity: concept and perspectives. Vestnik Volgogradskogo gosudarstvennogo meditsinskogo universiteta 2017: 1 (61):134-140]
5. Levey AS, Stevens LA, Schmid CH et al. A new equation to estimate glomerular filtration rate. Ann Intern Med 2009; 150: 604-612
6. Рабочая группа Российского кардиологического общества, Научного общества нефрологов России, Российской ассоциации эндокринологов, Российского медицинского общества по артериальной гипертонии, Национального общества по изучению атеросклероза, Российского научного медицинского общества терапевтов. Национальные рекомендации. Сердечно-сосудистый риск и хроническая болезнь почек: стратегии кардио-нефропротекции. Российский кардиологический журнал 2014; 8(112): 7-37 [Russian National Guidelines. Cardiovascular risk and chronic kidney disease: cardio-nephroprotection strategy. Rossiyskiy kardiologicheskiy zhurnal 2014; 8 (112): 7-37].
7. Стаценко МЕ, Деревянченко МВ, Шилина НН и др. Функциональное состояние почек у больных с сердечно- сосудистыми заболеваниями и ожирением Нефрология 2016;20(5):43-49 [Statsenko ME, Derevyanchenko MV, Shilina NN i dr. Renal function in patients with cardiovascular disease and obesity. Nephrology (Saint-Petersburg) 2016;20(5):43-49. (In Russ)]
8. Yusuf S, Hawken S, Ounpuu S et al. Obesity and the risk of myocardial infarction in 27,000 participants from 52 countries: a case-control study. Lancet 2005;366:1640–1649
9. Britton KA, Massaro JM, Murabito JM et al. Body fat distribution, incident cardiovascular disease, cancer, and all-cause mortality. J Am Coll Cardiol 2013;62:921–925
10. Стаценко МЕ, Деревянченко МВ, Пастухова ОР. Влияние комбинированной антигипертензивной терапии на суточный профиль артериального давления и показатели метаболизма у больных сахарным диабетом 2 типа. Кардиология 2014;54(11):20-24 [Statsenko ME, Derevyanchenko MV, Pastuhova OR. Effect of combined antihypertensive therapy on circadian blood pressure profile and metabolic parameters in patients with type 2 diabetes. Kardiologiya 2014; 54 (11): 20-24]
11. Стаценко МЕ, Деревянченко МВ. Кардионефропротекция – важнейшая задача антигипертензивной терапии у больных сахарным диабетом 2 типа. Кардиология 2015;55(8):43-48 [Statsenko ME, Derevyanchenko MV. Cardio-nephroprotection is the most important task of antihypertensive therapy in patients with type 2 diabetes. Kardiologiya 2015; 55 (8): 43-48]
12. Стаценко МЕ, Туркина СВ, Тыщенко ИА и др. Висцеральное ожирение как маркер риска мультиорганного поражения. Вестник Волгоградского государственного медицинского университета 2017; 1(61):10-15 [Statsenko ME, Turkina SV, Tyshchenko IA. Visceral obesity as a marker of multi-organ damage risk. Vestnik Volgogradskogo gosudarstvennogo meditsinskogo universiteta 2017; 1 (61): 10-15]
13. Hall JE, do Carmo JM, da Silva AA et al. Obesity-induced hypertension: interaction of neurohumoral and renal mechanisms. Circ Res 2015;116(6):991-1006. doi: 10.1161/CIRCRESAHA.116.305697
14. Chalmers L, Kaskel FJ, Bangbola O. The role of obesity and its bioclinical correlates in the progression of chronic kidney disease. Adv Chronic Kidney Dis 2006;13:352–364
15. Nasrallah MP, Ziyadeh FN. Overview of the physiology and pathophysiology of leptin with special emphasis on its role in the kidney. Semin Nephrol 2013 33(1):54-65. Doi: 10.1016/j.semnephrol.2012.12.005
16. Beltowski J. Leptin and the regulation of renal sodium handling and renal Na- transporting ATPases: role in the pathogenesis of arterial hypertension. Curr Cardiol Rev 2010;6:31–40
17. Zha D, Wu X, Gao P. Adiponectin and Its Receptors in Diabetic Kidney Disease: Molecular Mechanisms and Clinical Potential. Endocrinology 2017 158(7):2022-2034. Doi: 10.1210/en.2016-1765
18. Christou GA, Kiortsis DN. The role of adiponectin in renal physiology and development of albuminuria. J Endocrinol 2014 221(2):R49-61
Как использовать состояние в функциональных компонентах React
Компоненты React могут иметь внутреннее «состояние» — набор пар ключ-значение, принадлежащих компоненту. Когда состояние изменяется, React повторно отображает компонент. Исторически состояние можно было использовать только в компонентах класса. Используя хуки, вы также можете применять состояние к функциональным компонентам.
Традиционный подход
Компоненты класса React имеют свойство state
, которое хранит их состояние. Они обеспечивают setState()
метод, который вы можете использовать для обновления состояния, вызывая повторный рендеринг.
класс MyComponent расширяет React. Компонент { состояние = { значение : 1 } ; это . updateState = ( ) => это . setState ( { значение : ( это . состояние . значение + 1 ) } 900 16 ) ; визуализировать ( ) { возврат ( < дел > < p > { это . состояние . значение } p > < кнопка onClick = { это . updateState } Значение приращения кнопка > дел > ) ; } }
В этом примере отображаемый текст всегда будет отображать число в состоянии компонента. Щелчок по кнопке увеличивает значение.
Преобразование в функциональный компонент
С таким простым компонентом было бы идеально переписать его как функциональный компонент. Для этого вам нужно использовать хук useState(). Хуки были добавлены в React 16.8; до этого выпуска не существовало механизма добавления состояния к функциональным компонентам.
Вот как приведенный выше компонент выглядит как функциональный компонент:
Импорт React , { Usestate } от "React" ; константа MyComponent = ( ) => { const [ значение , setValue ] = useState ( 1 ) ; возврат ( < дел > < p > { значение } p > < кнопка onClick = { ( ) => setValue ( ( значение + 900 15 1 ) ) } > Значение приращения кнопка > дел > ) ; } ;
Это короче и читабельнее, чем оригинал на основе классов. В отличие от компонента класса, вы не можете получить доступ к свойство экземпляра состояния
или метод setState()
. Вместо этого вызывается useState()
для настройки состояния и получения функции обновления.
Хуки — это функция React, которая позволяет вам «прицеплять» функциональность к функциональным компонентам. Поскольку функции являются чистыми и не имеют экземпляров, возможности, которые изначально были реализованы как методы класса React.Component
, не могут использоваться напрямую. Хуки позволяют добавлять эти функции в компоненты без необходимости преобразования в классы.
Хук useState()
устанавливает отдельное свойство состояния. Он возвращает массив, содержащий два элемента: текущее значение состояния и функцию, которую вы можете вызвать с новым значением для обновления состояния.
В этом примере мы используем назначение деструктуризации массива, чтобы распаковать значения массива в переменные с четкими именами. По соглашению метод установки должен иметь префикс set
, поскольку он занимает место метода класса setState()
.
Вызов useState()
объявляет переменную состояния, значение
в нашем случае, которая будет «сохраняться» между вызовами функции. Это означает, что useState()
гарантированно возвращает одно и то же значение каждый раз, когда вы вызываете его в своем компоненте. Любое другое значение переменной теряется после выхода из функции; React поддерживает значения состояния внутри, чтобы гарантировать, что вы получаете одно и то же каждый раз, когда ваша функция запускается.
Функция обновления состояния — это обычная функция. Используется в Обработчик onClick
для замены текущего значения состояния. Внутренняя обработка React значений состояния гарантирует, что ваш компонент будет повторно визуализирован. useState()
предоставит новое значение, в результате чего произойдет изменение состояния.
Существует важное отличие от setState()
компонентов класса: средства обновления функционального состояния заменяют состояние, тогда как setState()
выполняет поверхностное слияние:
const [ значение , setValue ] = useState ( { foo : "bar" , тест : { пример : "демо" } } ) ; setValue ( { foo : "foobar" } ) ; // Результаты в {foo: "foobar"} это . состояние = { foo : "бар" , тест : { пример : 90 015 "демо" } } ; это . setState ( { foo : "foobar" } ) ; // Результаты в {foo: "foobar", test: {example: "demo"}};
Вместо прямой передачи нового значения состояния вы также можете передать функцию средствам обновления состояния. Функции получают текущее состояние в качестве параметра и должны возвращать новое значение состояния. Это полезно при работе с переключаемыми значениями.
const Флажок = ( ) => { const [ проверено , setChecked ] = useState ( ложь ) ; const toggle = предыдущий => ! предыдущий ; возврат < ввод проверен = { проверен } onClick = { ( ) => setChecked ( toggle ) 9001 5 } />; } ;
Это поможет вам повторно использовать логику переключения в нескольких местах вашего компонента.
Значения по умолчанию
Есть еще одно замечание по поводу useState()
. Сам хук принимает параметр, который устанавливает начальное значение переменной состояния. В приведенном выше примере значение
будет инициализировано до 1
. Если значение не указано, используется undefined
. Это соответствует поведению при настройке свойства экземпляра состояния
в компоненте класса.
Если вы передадите функцию useState()
, React вызовет ее и будет использовать возвращаемое значение в качестве начального значения состояния.
const MyComponent = ( ) => { const initialState = ( ) => 1 ; const [ значение , setValue ] = useState ( initialState ) ; } ;
Этот метод обеспечивает «ленивую» инициализацию состояния. Функция не будет вызываться до тех пор, пока React не будет готов установить состояние.
Использование функции также гарантирует, что значение начального состояния вычисляется только один раз. Это важно, если для определения вашего начального состояния требуются дорогостоящие вычисления — если вы передаете его напрямую, то значение будет вычисляться каждый раз при рендеринге компонента, по сравнению с одним разом при первом рендеринге, если вы передаете ссылку на функцию.
const MyComponent = ( ) => { const doSomethingExpensive = ( ) => { // ... } const [ значение , setValue ] = useState ( doSomethingExpensive ( ) ) ; const [ значение , setValue ] = useState ( doSomethingExpensive ) ; } ;
Тонкая, но существенная разница между двумя вызовами useState()
иллюстрирует потенциальное улучшение производительности. Первая строка будет выполнять дорогостоящую операцию при каждом вызове рендеринга, даже если она будет избыточной, поскольку состояние уже было инициализировано. Во втором случае этого не произойдет.
У вас есть несколько вариантов использования нескольких значений состояния в одном функциональном компоненте. Вы можете вернуться к классовой системе, используя один объект, хранящийся в состоянии:
const MyComponent = ( ) => { const [ user , setUser ] = useState ( { id : 1 , имя пользователя : "foobar" } ) ; } ;
Вам нужно убедиться, что вы вызываете setUser()
с обновленным объектом пользователя . Синтаксис распространения полезен так же, как и компоненты класса:
setUser ( { ... пользователь , имя пользователя : "пример" } ) ;
Это создает новый объект с существующими свойствами пользователь
. Затем он обновляет свойство username
до нового значения. Важно, чтобы вы создали новый объект вместо того, чтобы напрямую изменять существующий объект, чтобы согласование состояния React могло идентифицировать изменение.
Кроме того, вы можете вызвать useState()
несколько раз, чтобы настроить уникальные переменные состояния для каждого элемента. Это часто является предпочтительным подходом для функциональных компонентов. Это может упростить обновление отдельных значений состояния.
const MyComponent = ( ) => { const [ userId , setUserId ] = useState ( 1 ) 90 015 ; const [ имя пользователя , setUsername ] = useState ( "foobar" ) 9 0015 ; } ;
Свойства с сохранением состояния теперь имеют собственные переменные состояния и функции обновления.
Заключение
Хук React useState()
делает функциональные компоненты более мощными, позволяя им обладать состоянием. Вы можете установить начальное значение, получить доступ к текущему значению с гарантией, что оно сохранится между повторными рендерингами, и обновить состояние с помощью специально предоставленной функции.
Функциональные компоненты с отслеживанием состояния часто пишутся быстрее, чем их аналоги на основе классов. Более того, они могут сделать более очевидным, что происходит в вашей кодовой базе, поскольку ссылки на 9Состояние 0009 и setState()
исключены в пользу четких имен переменных. В конечном счете, useState()
обеспечивает гибкость и означает, что вам больше не нужно преобразовывать функциональные компоненты в компоненты класса в тот момент, когда вам требуется состояние.
кадров в Scala | Pure Functional State
Просмотр на GitHub
Функциональное программирование в Scala
Следующий набор разделов представляет упражнения, содержащиеся в книге «Функциональное программирование в Scala», написано Полом Кьюзано и Рунаром Бьярнасоном и опубликовано Мэннингом. Эта библиотека содержимого предназначена для использования в паре с книгой. Мы используем ту же нумерацию для упражнений, чтобы вы могли следовать им.
Для получения дополнительной информации о «Функциональном программировании в Scala», пожалуйста, посетите его Официальный веб-сайт.
Чисто функциональная генерация случайных чисел
Упражнение 6.1:
Давайте напишем функцию, которая использует RNG.nextInt
для генерации случайного целого числа между 0
и Int.MaxValue
, изготовление
обязательно обработайте угловой случай, когда nextInt
возвращает Int.MinValue
, который не имеет неотрицательного
аналог:
def nonNegativeInt(rng: RNG): (Int, RNG) = { val (i, r) = rng.nextInt (если (i < res0) - (i + res1), иначе i, r) } val rng = Простой(47) val (result1, rng1) = nonNegativeInt(rng) val result2 = nonNegativeInt(rng1)._1 результат1 должен быть >= 0 результат2 должен быть >= 0 Результат1 не должен быть результатом 2
Упражнение 6. 2:
Теперь давайте написать функцию для создания Double
между 0
и 1
, за исключением 1
. Обратите внимание, что мы используем Int.MaxValue
для деления случайного положительного целого числа:
по определению двойной (rng: RNG): (Double, RNG) = { val (i, r) = nonNegativeInt(rng) (i / (Int.MaxValue.toDouble + res0), г) } val rng = Простой(47) val (double1, rng1) = double(rng) значение double2 = double(rng1)._1 double1.toInt должно быть >= 0 double2.toInt должно быть >= 0 double1 не должно быть double2
Упражнение 6.3:
Следуя тому же принципу, мы собираемся написать функции, которые генерируют кортежи случайных значений, т.е. (Int, Double)
пара, (Double, Int)
пара и (Double, Double, Double)
3-кортеж, путем повторного использования функций
мы уже писали:
def intDouble(rng: RNG): ((Int, Double), RNG) = { val (i, r1) = rng. nextInt val (d, r2) = двойной (r1) ((и, г), г2) } def doubleInt(rng: RNG): ((Double, Int), RNG) = { val ((i, d), r) = intDouble(rng) ((г, и), г) } def double3(rng: RNG): ((Double, Double, Double), RNG) = { знач (d1, r1) = двойной (rng) знач (d2, r2) = двойной (r1) знач (d3, r3) = двойной (r2) ((д1, д2, д3), г3) }
Упражнение 6.4:
Мы можем пойти дальше и написать функцию для генерации списка случайных целых чисел:
определение целых чисел (счетчик: Int) (rng: RNG): (List[Int], RNG) = если (количество == res0) (Список(), кольцо) еще { val (x, r1) = rng.nextInt значение (xs, r2) = целые (счетчик - res1) (r1) (х :: хз, г2) } val (list1, rng1) = ints(5)(Simple(47)) val list2 = целые (5) (rng1)._1 list1.size должен быть 5 list1.headOption не должен быть list2
Лучший API для действий с состоянием
Упражнение 6.5:
Давайте воспользуемся картой
для повторной реализации double
более элегантным способом:
val double: Rand[Double] = карта (nonNegativeInt) (_ / (Int. MaxValue.toDouble + res0)) val rng = Простой(47) val (double1, rng2) = double(rng) значение double2 = double(rng2)._1 double1.toInt должно быть >= 0 double2.toInt должно быть >= 0 double1 не должно быть double2
Упражнение 6.6:
Теперь мы реализуем map2
, который выполняет два действия, ra
и rb
, и бинарную функцию f
для объединения
их результаты и возвращает новое действие, которое их объединяет:
def map2[A, B, C](ra: Rand[A], rb: Rand[B])(f: (A, B) => C) : Ранд[С] = кольцо => { val (a, r1) = ra(rng) val (b, r2) = rb(r1) (f(а, б), г2) }
Упражнение 6.7:
Если мы можем объединить два перехода RNG
, мы должны быть в состоянии объединить весь их список. Давайте реализуем последовательность
для объединения списка
переходов в один переход:
def sequence[A](fs: List[Rand[A]]): Rand[List[A]] = fs.foldRight(unit(List[A]()))((f, acc) => map2(f, acc)(_ :: _))
Упражнение 6. 8:
Следующим шагом будет реализация flatMap
, так как это позволит нам изменять состояние операций:
def flatMap[A, B](f: Rand[A])(g: A => Rand[B]): Rand[B] = кольцо => { val (a, r1) = f(rng) г(а)(r1) }
Давайте используем его для записи nonNegativeLessThan
, которая генерирует целое число между 0
(включительно) и n
(эксклюзив):
def nonNegativeLessThan(n: Int): Rand[Int] = { flatMap(nonNegativeInt) { я => val mod = i % n if (i + (n - res0) - mod >= res1) unit(mod) else nonNegativeLessThan(n) } } val (result1, rng1) = nonNegativeLessThan(10)(Simple(47)) val result2 = nonNegativeLessThan(10)(rng1)._1 результат1 должен быть >= 0 результат1 должен быть < 10 результат2 должен быть >= 0 результат2 должен быть < 10 результат1 не должен быть результатом2
Упражнение 6.10:
Мы также можем переписать map
и map2
в терминах flatMap
:
def _map[A, B](s: Rand[ А])(ф: А => В): Ранд[В] = flatMap(s)(a => unit(f(a))) def _map2[A, B, C](ra: Rand[A], rb: Rand[B])(f: (A, B) => C): Rand[C] = flatMap(ra)(a => map(rb)(b => f(a, b)))
Упражнение 6. x:
В качестве последнего примера давайте вернемся к ранее написанным функциям и реализуем функция, которая свернет шестигранный кубик:
def rollDie: Rand[Int] = map(nonNegativeLessThan(6))(_ + res0) val (dice1, rng1) = rollDie(Simple(47)) val dice2 = rollDie(rng1)._1 dice1 должно быть > 0 dice1 должно быть < 6 dice2 должно быть > 0 dice2 должно быть < 6 dice1 не должен быть dice2
Тип данных действия общего состояния
Упражнение 6.10:
Обобщим функции unit
, map
, map2 9001 0 ,
flatMap
и последовательность
:
def unit[S, A](a: A): State[S, A] = State(s => (a, s)) def map[B](f: A => B): State[S, B] = flatMap(a => unit(f(a))) def flatMap[B](f: A => State[S, B]): State[S, B] = State(s => { val (a, s1) = run(s) f(a).run(s1) }) def map2[B, C](sb: State[S, B])(f: (A, B) => C): State[S, C] = flatMap(a => sb.map(b => f(a, b))) последовательность [S, A] (sas: Список [Состояние [S, A]]): Состояние [S, Список [A]] = sas. foldRight(unit[S, List[A]](List()))((f, acc) => f.map2(acc)(_ :: _))
Упражнение 6.11:
В качестве последней демонстрации использования State
давайте реализуем автомат с конечным числом состояний, который моделирует простую конфету.
распылитель. Автомат имеет два входа: вы можете вставить монету или выдать конфету, повернув ручку.
Он может находиться в одном из двух состояний: заблокирован или разблокирован. Он также отслеживает, сколько конфет осталось и сколько монет
это содержит.
запечатанный трейт Ввод случай объект Монета расширяет ввод объект case Поворот расширяет ввод case class Machine(заблокировано: Boolean, конфеты: Int, монеты: Int)
Правила автомата:
- Если вставить монету в запертый автомат, он разблокируется, если в нем еще остались конфеты. - Поворот ручки на разблокированном автомате приведет к тому, что он выдаст одну конфету и вернется в заблокированное состояние. - Поворот ручки на заблокированной машине или вставка монеты в разблокированную машину не имеет никакого эффекта. - Машина, в которой нет конфет, игнорирует любые входные данные.
Метод SimulationMachine
должен управлять машиной на основе списка входных данных и возвращать количество монет.
и конфеты остались в автомате. Например, если вход В автомате
есть 10 монет и 5 конфет, а также
Всего успешно куплено 4 конфеты, результат должен быть (14, 1)
.
Объект Конфеты { обновление защиты = (я: ввод) => (с: Машина) => (я, с) соответствует { case (_, Machine(_, 0, _)) => s case (Coin, Machine(false, _, _)) => s case (Turn, Machine(true, _, _)) => s случай (Монета, Машина(правда, конфета, монета)) => Машина(false, конфеты, монета + res0) случай (Поворот, Машина(ложь, конфета, монета)) => Машина(правда,конфетка - res1,монета) } def simulatorMachine (входы: список [ввод]): State [Machine, (Int, Int)] = для { _ <- последовательность (карта входов (изменить [Машина] _ составить обновление)) с <- получить } выход (s. coins, s.candies) } импортировать конфеты._ val inputCoin = Список (Монета) val inputTurn = Список (Поворот) // Если вставить монету в заблокированный автомат, он разблокируется, если остались конфеты. val machine1 = Машина (истина, 1, 0) SimulationMachine(inputCoin).run(machine1)._2.locked должен быть ложным // Поворот ручки на разблокированной машине приведет к тому, что она выдаст конфеты и заблокируется. val машина2 = машина (ложь, 1, 1) val m2Result = симулироватьMachine(inputTurn).run(machine2) m2Result._2.locked должен быть правдой m2Result._2.candies должно быть 0 // Поворот ручки на заблокированной машине или вставка монеты в разблокированную машину ничего не дает. SimulationMachine(inputTurn).run(machine1)._2.locked должен быть machine1.locked симуляцияMachine(inputCoin).run(machine2)._2.locked должен быть machine2.locked // Машина, у которой закончились конфеты, игнорирует все входные данные. val machine3 = Машина (истина, 0, 1) симуляцияMachine(inputTurn).run(machine3)._2.locked должен быть machine3.