React — это популярная библиотека для создания пользовательских интерфейсов. Она основывается на использовании компонентов, JSX и props для построения динамичных и отзывчивых приложений.
1. JSX
Что такое JSX?
JSX (JavaScript XML) — это синтаксис, позволяющий писать HTML-подобный код внутри JavaScript. React преобразует JSX в вызовы `React.createElement` во время компиляции.Пример JSX
```javascript const element =Hello, world!
; ReactDOM.render(element, document.getElementById('root')); ```Особенности JSX
1. **Смешивание HTML и JavaScript**: Вы можете вставлять JavaScript-выражения с помощью `{}`. ```javascript const name = "Alice"; const element =Hello, {name}!
; ```-
Атрибуты как свойства: Используйте camelCase для атрибутов.
javascriptconst element = <button onClick={handleClick}>Click Me</button>;
-
Фрагменты: Позволяют возвращать несколько элементов без лишних обёрток.
javascriptconst element = ( <> <h1>Hello</h1> <p>Welcome to React</p> </> );
2. Компоненты
Что такое компоненты?
Компоненты — это основные строительные блоки React-приложений. Они могут быть функциональными или классовыми.Функциональные компоненты
Функциональные компоненты — это простые функции, которые принимают props и возвращают JSX.Пример
```javascript function Welcome(props) { returnHello, {props.name}!
; }ReactDOM.render(
text
<h3 id="классовые-компоненты">Классовые компоненты</h3>
Классовые компоненты более сложные и используются для управления состоянием.
<h4 id="пример">Пример</h4>
```javascript
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}!</h1>;
}
}
ReactDOM.render(<Welcome name="Alice" />, document.getElementById('root'));
Когда использовать компоненты?
- Для повторяющихся частей интерфейса (например, карточки, кнопки). - Для организации логики и структуры приложения.3. Props
Что такое props?
Props (properties) — это данные, передаваемые в компонент для его настройки. Они неизменяемы и задаются извне.Передача props
Пример
```javascript function Greeting(props) { returnHello, {props.name}!
; }ReactDOM.render(
text
<h3 id="дефолтные-значения-props">Дефолтные значения props</h3>
<h4 id="пример">Пример</h4>
```javascript
function Greeting({ name = "Guest" }) {
return <h1>Welcome, {name}!</h1>;
}
ReactDOM.render(<Greeting />, document.getElementById('root'));
Деструктуризация props
Пример
```javascript function Greeting({ name, age }) { return (Hello, {name}! You are {age} years old.
); }ReactDOM.render(
text
---
<h2 id="итоговые-вопросы-для-подготовки">Итоговые вопросы для подготовки</h2>
1. Что такое JSX, и как он работает в React?
2. В чём разница между функциональными и классовыми компонентами?
3. Как передавать данные в компонент с помощью props?
4. Как задать значения props по умолчанию?
5. Какие ошибки могут возникнуть при неправильной передаче props?
**Совет:** Практикуйте создание компонентов и работу с props, чтобы уверенно применять эти концепции в реальных проектах.