freeCodeCamp/guide/russian/react/jsx/index.md

80 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: JSX
localeTitle: JSX
---
# JSX
> JSX является коротким для JavaScript XML.
JSX - это выражение, которое использует допустимые HTML-инструкции в JavaScript. Вы можете назначить это выражение переменной и использовать ее в другом месте. Вы можете комбинировать другие действующие выражения JavaScript и JSX в этих выражениях HTML, помещая их в фигурные скобки ( `{}` ). Babel далее компилирует JSX в объект типа `React.createElement()` .
### Однострочные и многострочные выражения
Однострочное выражение просты в использовании.
```jsx
const one = <h1>Hello World!</h1>;
```
Когда вам нужно использовать несколько строк в одном выражении JSX, напишите код в пределах одной круглой скобки.
```jsx
const two = (
<ul>
<li>Once</li>
<li>Twice</li>
</ul>
);
```
### Использование только тегов HTML
```jsx
const greet = <h1>Hello World!</h1>;
```
### Объединение выражения JavaScript с тегами HTML
Мы можем использовать переменные JavaScript в фигурных скобках.
```jsx
const who = "Quincy Larson";
const greet = <h1>Hello {who}!</h1>;
```
Мы также можем вызвать другие функции JavaScript в фигурных скобках.
```jsx
function who() {
return "World";
}
const greet = <h1>Hello {who()}!</h1>;
```
### Разрешен только один родительский тег
Выражение JSX должно иметь только один родительский тег. Мы можем добавить несколько тегов, вложенных только в родительский элемент.
```jsx
// This is valid.
const tags = (
<ul>
<li>Once</li>
<li>Twice</li>
</ul>
);
// This is not valid.
const tags = (
<h1>Hello World!</h1>
<h3>This is my special list:</h3>
<ul>
<li>Once</li>
<li>Twice</li>
</ul>
);
```
### Больше информации
* [Представляем JSX](https://reactjs.org/docs/introducing-jsx.html)