#День 2 изучения React JS с [Scratch]

RedDeveloper
11.02.2023 10:03
#День 2 изучения React JS с [Scratch]

После продуктивного дня 1 , я смог разместить скелетный проект react на localhost.

Теперь, пришло время узнать больше о сочных вещах, День 2 изучения работы с файловой структурой React.

JSX

Рассмотрим это объявление переменной:
const element = <h1>Hello, world!</h1>;

Этот забавный синтаксис тегов не относится ни к JavaScript, ни к HTML.

Он называется JSX, синтаксическое расширение JavaScript.

JSX создает "элементы" React.

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

Официальные док-ты : https://reactjs.org/docs/introducing-jsx.html

Компоненты

Компоненты похожи на функции JS, они принимают параметры, называемые "реквизитами".

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

Все эти мелкие части оформляются в собственный файл .js, и при необходимости эти файлы вызываются в основной файл App.js для рендеринга мелких сегментов с целью создания полного пользовательского интерфейса.

Пример: Рассмотрим пользовательский интерфейс мобильной версии Instagram.

У нас есть:

Заголовок, содержащий [логотип, значок создания поста, значок DM],

Истории, содержащие [Фотографии профиля, имя пользователя].

Лента, содержащая [сообщение соответствующего типа, имя пользователя, изображение профиля, like, share, comment, save, caption, add comment etc].

Нижний колонтитул, содержащий [Главная, поиск, ролики, уведомления, профиль].

Эти разделы создаются в собственном .js файле Header.js и импортируются в App.js, чтобы отобразить заголовок для пользователя.

Реквизиты

Реквизиты - это объекты/параметры, передаваемые компонентам.

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

Его использование аналогично использованию и доступу к объектам.

Например: массив под названием student содержит список студентов с их именем, возрастом, классом. Мы можем получить доступ к отдельному атрибуту как prop.student.name.

Это все для второго дня, спасибо, что заглянули ❤.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

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

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

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