Рендер-пропсы
Значениями рендер-пропсов являются функции. Но эти функции используются не обычным образом (например, для обработки событий), а для рендера.
В рендер-пропе в компонент передается функция. Компонент вызывает ее в нужном месте своей разметки, передавая ей при необходимости аргументы. Функция выполняется и возвращает фрагмент JSX.
По сути это почти то же самое, что и props.children - дочерние элементы компонента. Кстати, проп children можно указывать явно, и он тоже может быть функцией, то есть рендер-пропом.
Статья из документации (рус.): https://ru.reactjs.org/docs/render-props.html
#рендерпропсы #jsx #документация
Значениями рендер-пропсов являются функции. Но эти функции используются не обычным образом (например, для обработки событий), а для рендера.
В рендер-пропе в компонент передается функция. Компонент вызывает ее в нужном месте своей разметки, передавая ей при необходимости аргументы. Функция выполняется и возвращает фрагмент JSX.
По сути это почти то же самое, что и props.children - дочерние элементы компонента. Кстати, проп children можно указывать явно, и он тоже может быть функцией, то есть рендер-пропом.
Статья из документации (рус.): https://ru.reactjs.org/docs/render-props.html
#рендерпропсы #jsx #документация
ru.legacy.reactjs.org
Рендер-пропсы – React
JavaScript-библиотека для создания пользовательских интерфейсов
Функция как дочерний компонент
Мы уже говорили про рендер-пропсы. Они позволяют передать в компонент рендер-функцию, которая просто вставляется в нужном месте и генерирует разметку.
Тут можно немного затормозить, поэтому захотелось вернуться к этому моменту. На самом деле ничего странного в этом нет. Помним, что JSX - это обычный JavaScript, поэтому в ней можно использовать любые валидные выражения, включая также и вызовы функций.
https://codepen.io/furrycat/pen/oNZQmgm?editors=0010
Вы помещаете вызов функции внутри фигурных скобок. Функция выполняется, возвращает разметку, которая и выводится.
Это позволяет передавать в разметку динамические аргументы.
#примерыкода #jsx #началоработы
Мы уже говорили про рендер-пропсы. Они позволяют передать в компонент рендер-функцию, которая просто вставляется в нужном месте и генерирует разметку.
Тут можно немного затормозить, поэтому захотелось вернуться к этому моменту. На самом деле ничего странного в этом нет. Помним, что JSX - это обычный JavaScript, поэтому в ней можно использовать любые валидные выражения, включая также и вызовы функций.
https://codepen.io/furrycat/pen/oNZQmgm?editors=0010
Вы помещаете вызов функции внутри фигурных скобок. Функция выполняется, возвращает разметку, которая и выводится.
Это позволяет передавать в разметку динамические аргументы.
#примерыкода #jsx #началоработы
Telegram
React Junior
Рендер-пропсы
Значениями рендер-пропсов являются функции. Но эти функции используются не обычным образом (например, для обработки событий), а для рендера.
В рендер-пропе в компонент передается функция. Компонент вызывает ее в нужном месте своей разметки…
Значениями рендер-пропсов являются функции. Но эти функции используются не обычным образом (например, для обработки событий), а для рендера.
В рендер-пропе в компонент передается функция. Компонент вызывает ее в нужном месте своей разметки…
Список тегов для более удобного поиска постов
👉 Основные понятия
#компоненты
#jsx
#жизненныйциклкомпонента
#виртуальныйdom
#состояние
#обработкасобытий
#потокданных
#ключи
#формы
#рефы
#hoc
#рендерпропсы
#контекст
#порталы
#хуки
#concurrentmode
👉 Управление состоянием
#управлениесостоянием
#redux
#mobx
#recoil
👉 Работа с ошибками
#обработкаошибок
#предохранители
#отладка
#проверкатипов
#typescript
#строгийрежим
👉 Оптимизация
#оптимизация
#profiler
#ленивыекомпоненты
#purecomponent
👉 Тестирование
#тестирование
#jest
#testinglibrary
👉 Серверный рендеринг
#серверныйрендеринг
👉 Стилизация
#стили
#styledcomponents
#jss
#radium
#shadowdom
👉 Распространенные задачи
#валидацияформ
#роутинг
#обменданными
#rtkquery
👉 Прочее
#документация - материалы из официальной документации
#ссылки - полезные ссылки
#началоработы - базовые знания, необходимые для начала работы
#паттерны - хорошие практики работы с React
#примерыкода - реальные примеры кода для изучения
#важно - моменты, на которые нужно обратить внимание
#ошибки - частые ошибки новичков в React
#вопросы
#подкапотом - невидимая часть React
#подключение - подключение React, а также дополнительных пакетов
#инструменты - полезные инструменты для разработки
#доступность
#проект - организация файлов и другие вопросы уровня целого проекта
#api
#безопасность
#отложено - аспекты уже пройденных тем, временно отложенные
👉 Основные понятия
#компоненты
#jsx
#жизненныйциклкомпонента
#виртуальныйdom
#состояние
#обработкасобытий
#потокданных
#ключи
#формы
#рефы
#hoc
#рендерпропсы
#контекст
#порталы
#хуки
#concurrentmode
👉 Управление состоянием
#управлениесостоянием
#redux
#mobx
#recoil
👉 Работа с ошибками
#обработкаошибок
#предохранители
#отладка
#проверкатипов
#typescript
#строгийрежим
👉 Оптимизация
#оптимизация
#profiler
#ленивыекомпоненты
#purecomponent
👉 Тестирование
#тестирование
#jest
#testinglibrary
👉 Серверный рендеринг
#серверныйрендеринг
👉 Стилизация
#стили
#styledcomponents
#jss
#radium
#shadowdom
👉 Распространенные задачи
#валидацияформ
#роутинг
#обменданными
#rtkquery
👉 Прочее
#документация - материалы из официальной документации
#ссылки - полезные ссылки
#началоработы - базовые знания, необходимые для начала работы
#паттерны - хорошие практики работы с React
#примерыкода - реальные примеры кода для изучения
#важно - моменты, на которые нужно обратить внимание
#ошибки - частые ошибки новичков в React
#вопросы
#подкапотом - невидимая часть React
#подключение - подключение React, а также дополнительных пакетов
#инструменты - полезные инструменты для разработки
#доступность
#проект - организация файлов и другие вопросы уровня целого проекта
#api
#безопасность
#отложено - аспекты уже пройденных тем, временно отложенные
Различия между React и HTML
React - это JavaScript, поэтому в некоторых аспектах его синтаксис отличается от стандартного HTML. Все свойства и атрибуты DOM-элементов должны указываться в camelCase (tabIndex вместо tabindex). aria-* и data-* атрибуты остаются как есть.
* className вместо class
* dangerouslySetInnerHTML вместо innerHTML
* htmlFor вместо for
* onChange вместо onInput - для обработки ввода в реальном времени
* value для input/textarea/select
* value на теге select вместо атрибутов selected на тегах option
* style в виде объекта
#документация #важно #jsx
React - это JavaScript, поэтому в некоторых аспектах его синтаксис отличается от стандартного HTML. Все свойства и атрибуты DOM-элементов должны указываться в camelCase (tabIndex вместо tabindex). aria-* и data-* атрибуты остаются как есть.
* className вместо class
* dangerouslySetInnerHTML вместо innerHTML
* htmlFor вместо for
* onChange вместо onInput - для обработки ввода в реальном времени
* value для input/textarea/select
* value на теге select вместо атрибутов selected на тегах option
* style в виде объекта
#документация #важно #jsx
По TypeScript получилось довольно много материала (и еще будет 😄), поэтому добавлены новые теги для сложных тем: #infer, #дженерики и #tsдекораторы
Все теги тут: https://yangx.top/react_junior/84
Все теги тут: https://yangx.top/react_junior/84
Telegram
React Junior
Список тегов для более удобного поиска постов
👉 Основные понятия
#компоненты
#jsx
#жизненныйциклкомпонента
#виртуальныйdom
#состояние
#обработкасобытий
#потокданных
#ключи
#формы
#рефы
#hoc
#рендерпропсы
#контекст
#порталы
#хуки
👉 Управление состоянием…
👉 Основные понятия
#компоненты
#jsx
#жизненныйциклкомпонента
#виртуальныйdom
#состояние
#обработкасобытий
#потокданных
#ключи
#формы
#рефы
#hoc
#рендерпропсы
#контекст
#порталы
#хуки
👉 Управление состоянием…
🔥3