-
{person.name}'s Todos
+
{person.name}'s Справи
```
-JSX is very minimal as a templating language because it lets you organize data and logic using JavaScript.
+JSX є дуже мінімальною, як мова шаблонізації, оскільки вона дозволяє вам організовувати дані та логіку за допомогою JavaScript.
-Now you know almost everything about JSX:
+Тепер ви майже все знаєте про JSX:
-* JSX attributes inside quotes are passed as strings.
-* Curly braces let you bring JavaScript logic and variables into your markup.
-* They work inside the JSX tag content or immediately after `=` in attributes.
-* `{{` and `}}` is not special syntax: it's a JavaScript object tucked inside JSX curly braces.
+* Атрибути JSX всередині лапок передаються як рядки.
+* Фігурні дужки дозволяють вам використовувати логіку та змінні JavaScript у вашій розмітці.
+* Вони працюють всередині вмісту тегу JSX або безпосередньо після `=` в атрибутах.
+* `{{` та `}}` - це не спеціальний синтаксис: це об'єкт JavaScript, який знаходиться всередині фігурних дужок JSX.
-#### Fix the mistake {/*fix-the-mistake*/}
+#### Виправте помилку {/*fix-the-mistake*/}
-This code crashes with an error saying `Objects are not valid as a React child`:
+Цей код видає помилку `Objects are not valid as a React child`:
```js
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
theme: {
backgroundColor: 'black',
color: 'pink'
@@ -263,16 +262,16 @@ const person = {
export default function TodoList() {
return (
-
{person}'s Todos
+
Задачі {person}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -287,21 +286,21 @@ body > div > div { padding: 20px; }
-Can you find the problem?
+Ви можете знайти проблему?
-Look for what's inside the curly braces. Are we putting the right thing there?
+Подивіться, що знаходиться всередині фігурних дужок. Чи кладемо ми правильні дані туди?
-This is happening because this example renders *an object itself* into the markup rather than a string: `{person}'s Todos
` is trying to render the entire `person` object! Including raw objects as text content throws an error because React doesn't know how you want to display them.
+Це трапляється тому, що в цьому прикладі виводиться *сам об'єкт* у розмітку, а не рядок: `{person}'s Справи
` намагається відобразити весь об'єкт `person`! Включення цілого об'єкта як вмісту тексту викликає помилку, оскільки React не знає, як ви хочете його відобразити.
-To fix it, replace `{person}'s Todos
` with `{person.name}'s Todos
`:
+Щоб виправити це, замініть `{person}'s Справи
` на `{person.name}'s Справи
`:
```js
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
theme: {
backgroundColor: 'black',
color: 'pink'
@@ -311,16 +310,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -337,15 +336,15 @@ body > div > div { padding: 20px; }
-#### Extract information into an object {/*extract-information-into-an-object*/}
+#### Виділіть інформацію в об'єкт {/*extract-information-into-an-object*/}
-Extract the image URL into the `person` object.
+Виділіть URL зображення в об'єкт `person`.
```js
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
theme: {
backgroundColor: 'black',
color: 'pink'
@@ -355,16 +354,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -381,13 +380,13 @@ body > div > div { padding: 20px; }
-Move the image URL into a property called `person.imageUrl` and read it from the `
` tag using the curlies:
+Перемістіть URL зображення у властивість під назвою `person.imageUrl` та прочитайте його з тегу `
` за допомогою фігурних дужок:
```js
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
imageUrl: "https://i.imgur.com/7vQD0fPs.jpg",
theme: {
backgroundColor: 'black',
@@ -398,16 +397,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -424,13 +423,13 @@ body > div > div { padding: 20px; }
-#### Write an expression inside JSX curly braces {/*write-an-expression-inside-jsx-curly-braces*/}
+#### Напишіть вираз всередині фігурних дужок JSX {/*write-an-expression-inside-jsx-curly-braces*/}
-In the object below, the full image URL is split into four parts: base URL, `imageId`, `imageSize`, and file extension.
+У наведеному нижче об'єкті повний URL зображення розбитий на чотири частини: базовий URL, `imageId`, `imageSize`, та розширення файлу.
-We want the image URL to combine these attributes together: base URL (always `'https://i.imgur.com/'`), `imageId` (`'7vQD0fP'`), `imageSize` (`'s'`), and file extension (always `'.jpg'`). However, something is wrong with how the `
` tag specifies its `src`.
+Ми хочемо, щоб URL зображення комбінував ці атрибути разом: базовий URL (завжди `'https://i.imgur.com/'`), `imageId` (`'7vQD0fP'`), `imageSize` (`'s'`), та розширення файлу (завжди `'.jpg'`). Однак щось неправильно з вказанням `src` у теґу `
`.
-Can you fix it?
+Чи можете ви це виправити?
@@ -438,7 +437,7 @@ Can you fix it?
const baseUrl = 'https://i.imgur.com/';
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
imageId: '7vQD0fP',
imageSize: 's',
theme: {
@@ -450,16 +449,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -474,22 +473,22 @@ body > div > div { padding: 20px; }
-To check that your fix worked, try changing the value of `imageSize` to `'b'`. The image should resize after your edit.
+Щоб перевірити, чи працює ваше виправлення, спробуйте змінити значення `imageSize` на `'b'`. Зображення повинно змінити розмір після вашого редагування.
-You can write it as `src={baseUrl + person.imageId + person.imageSize + '.jpg'}`.
+Ви можете записати це як `src={baseUrl + person.imageId + person.imageSize + '.jpg'}`.
-1. `{` opens the JavaScript expression
-2. `baseUrl + person.imageId + person.imageSize + '.jpg'` produces the correct URL string
-3. `}` closes the JavaScript expression
+1. `{` відкриває вираз JavaScript
+2. `baseUrl + person.imageId + person.imageSize + '.jpg'` генерує правильний рядок URL
+3. `}` закриває вираз JavaScript
```js
const baseUrl = 'https://i.imgur.com/';
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
imageId: '7vQD0fP',
imageSize: 's',
theme: {
@@ -501,16 +500,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -525,7 +524,7 @@ body > div > div { padding: 20px; }
-You can also move this expression into a separate function like `getImageUrl` below:
+Ви також можете перемістити цей вираз в окрему функцію, наприклад, `getImageUrl` нижче:
@@ -533,7 +532,7 @@ You can also move this expression into a separate function like `getImageUrl` be
import { getImageUrl } from './utils.js'
const person = {
- name: 'Gregorio Y. Zara',
+ name: 'Грегоріо І. Зара (Gregorio Y. Zara)',
imageId: '7vQD0fP',
imageSize: 's',
theme: {
@@ -545,16 +544,16 @@ const person = {
export default function TodoList() {
return (
-
{person.name}'s Todos
+
Задачі {person.name}
- - Improve the videophone
- - Prepare aeronautics lectures
- - Work on the alcohol-fuelled engine
+ - Покращити відеотелефон
+ - Підготувати лекції з авіаційних технологій
+ - Працювати над двигуном на спиртовому паливі
);
@@ -580,7 +579,7 @@ body > div > div { padding: 20px; }
-Variables and functions can help you keep the markup simple!
+Змінні та функції можуть допомогти вам зберегти розмітку простою!