You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app, you can [build a React app from scratch](/learn/build-a-react-app-from-scratch).
11
+
Якщо ваш застосунок містить обмеження, які не спрацюють із наявними фреймворками, або ви бажаєте побудувати власний фреймворк чи розібратися в основах, [побудуйте React-застосунок з нуля](/learn/build-a-react-app-from-scratch).
## Фреймворки повного стеку {/*full-stack-frameworks*/}
18
14
19
15
Ці фреймворки підтримують усі функції, що знадобляться для розгортання та масштабування застосунку в публічному середовищі (in production). Вони інтегрували останні React-функції й послуговуються перевагами архітектури React.
20
16
21
17
<Note>
22
18
23
-
<<<<<<< HEAD
24
-
#### React-фреймворки не потребують сервера. {/*react-frameworks-do-not-require-a-server*/}
19
+
#### Фреймворки повного стеку не потребують сервера. {/*react-frameworks-do-not-require-a-server*/}
25
20
26
-
Усі фреймворки на цій сторінці можуть створювати односторінкові застосунки (SPA). Їх можна розгортати через [CDN](https://developer.mozilla.org/en-US/docs/Glossary/CDN) або сервіс статичного хостингу та вони не потребують сервера. Якщо ви хочете використати функції, для яких потрібен сервер (наприклад, SSR — рендеринг із боку сервера), то можна ввімкнути окремі маршрути без переписування застосунку.
27
-
=======
28
-
#### Full-stack frameworks do not require a server. {/*react-frameworks-do-not-require-a-server*/}
21
+
Усі фреймворки на цій сторінці підтримують рендеринг із боку клієнта ([CSR](https://developer.mozilla.org/en-US/docs/Glossary/CSR)), односторінкові застосунки ([SPA](https://developer.mozilla.org/en-US/docs/Glossary/SPA)) і генерацію статичних сайтів ([SSG](https://developer.mozilla.org/en-US/docs/Glossary/SSG)). Їх можна розгортати через [CDN](https://developer.mozilla.org/en-US/docs/Glossary/CDN) або сервіс статичного хостингу та вони не потребують сервера. Додатково ці фреймворки дають вам змогу додавати рендеринг із боку сервера (SSR) для певних маршрутів, якщо вам це необхідно.
29
22
30
-
All the frameworks on this page support client-side rendering ([CSR](https://developer.mozilla.org/en-US/docs/Glossary/CSR)), single-page apps ([SPA](https://developer.mozilla.org/en-US/docs/Glossary/SPA)), and static-site generation ([SSG](https://developer.mozilla.org/en-US/docs/Glossary/SSG)). These apps can be deployed to a [CDN](https://developer.mozilla.org/en-US/docs/Glossary/CDN) or static hosting service without a server. Additionally, these frameworks allow you to add server-side rendering on a per-route basis, when it makes sense for your use case.
31
-
32
-
This allows you to start with a client-only app, and if your needs change later, you can opt-in to using server features on individual routes without rewriting your app. See your framework's documentation for configuring the rendering strategy.
33
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
23
+
Це дає вам змогу почати із суто клієнтського застосунку і за необхідності пізніше використати серверні функції для окремих маршрутів без переписування застосунку. Щоб налаштувати стратегію рендерингу, перегляньте документацію вашого фреймворку.
34
24
35
25
</Note>
36
26
@@ -69,11 +59,7 @@ npx create-expo-app@latest
69
59
Expo підтримується [компанією Expo](https://expo.dev/about). Розробляти застосунки за допомогою Expo можна безкоштовно, і їх можна подавати до каталогів застосунків Google і Apple без жодних обмежень. На додачу Expo пропонує необов'язкові платні хмарні послуги.
70
60
71
61
72
-
<<<<<<< HEAD
73
-
## Інші варіанти {/*other-options*/}
74
-
=======
75
-
## Other frameworks {/*other-frameworks*/}
76
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
62
+
## Інші фреймворки {/*other-frameworks*/}
77
63
78
64
Є й інші перспективні фреймворки, які працюють над нашим баченням повного стеку з React:
79
65
@@ -114,27 +100,13 @@ App Router від Next.js також інтегрує [отримання дан
114
100
115
101
</DeepDive>
116
102
117
-
## Start From Scratch {/*start-from-scratch*/}
118
-
119
-
If your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app, there are other options available for starting a React project from scratch.
120
-
121
-
<<<<<<< HEAD
122
-
#### Чи рекомендуєте Vite? {/*do-you-recommend-vite*/}
123
-
124
-
Ми пропонуємо кілька рекомендацій для Vite.
103
+
## Початок із нуля {/*start-from-scratch*/}
125
104
126
-
React Router v7 — це фреймворк на основі Vite, який дає вам змогу використовувати швидкий сервер розробки Vite та налаштувати все за допомогою фреймворку, який забезпечує маршрутизацію та отримання даних. Як і в інших фреймворках, які ми рекомендуємо, ви можете створити SPA за допомогою React Router v7.
105
+
Якщо ваш застосунок містить обмеження, які не спрацюють із наявними фреймворками, або ви бажаєте побудувати власний фреймворк чи розібратися в основах React-застосунку, є інші доступні варіанти для початку React-проєкту з нуля.
127
106
128
-
Ми також рекомендуємо використовувати Vite під час [додавання React до наявного проєкту](/learn/add-react-to-an-existing-project) або [побудови фреймворку](/learn/building-a-react-framework).
129
-
130
-
Подібно до того, як у Svelte є Sveltekit, у Vue — Nuxt, а у Solid — SolidStart, React рекомендує використовувати для нових проєктів фреймворк, який легко інтегрується з інструментами збирання, як-от Vite.
131
-
132
-
</Note>
133
-
=======
134
-
Starting from scratch gives you more flexibility, but does require that you make choices on which tools to use for routing, data fetching, and other common usage patterns. It's a lot like building your own framework, instead of using a framework that already exists. The [frameworks we recommend](#recommended-react-frameworks) have built-in solutions for these problems.
107
+
Початок роботи з нуля надає вам більше гнучкості, але потребує від вас вибору інструментів для маршрутизації, отримання даних та інших типових патернів використання. Це дуже схоже на створення власного фреймворку замість використання наявного. [Фреймворки, які ми рекомендуємо](#recommended-react-frameworks), мають готові вбудовані рішення для цих проблем.
135
108
136
-
If you want to build your own solutions, see our guide to [build a React app from Scratch](/learn/build-a-react-app-from-scratch) for instructions on how to set up a new React project starting with a built tool like [Vite](https://vite.dev/), [Parcel](https://parceljs.org/), or [RSbuild](https://rsbuild.dev/).
137
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
109
+
Якби ви хочете власне рішення, перегляньте наш посібник із [побудови React-застосунку з нуля](/learn/build-a-react-app-from-scratch), щоб отримати інструкції з налаштування нового React-проєкту, починаючи з інструментів збирання, як-от [Vite](https://vite.dev/), [Parcel](https://parceljs.org/) чи [RSbuild](https://rsbuild.dev/).
Copy file name to clipboardExpand all lines: src/content/learn/installation.md
+4-20Lines changed: 4 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,38 +36,22 @@ export default function App() {
36
36
37
37
Якщо ви хочете почати проєкт за допомогою React, [створіть React-застосунок](/learn/creating-a-react-app), використовуючи один із рекомендованих фреймворків.
## Побудувати React-застосунок з нуля {/*build-a-react-app-from-scratch*/}
41
40
42
-
Якщо фреймворк не годиться для вашого проєкту або ви бажаєте почати із самостійного створення його структури, [побудуйте власний React-фреймворк](/learn/building-a-react-framework).
43
-
=======
44
-
## Build a React App from Scratch {/*build-a-react-app-from-scratch*/}
45
-
46
-
If a framework is not a good fit for your project, you prefer to build your own framework, or you just want to learn the basics of a React app you can [build a React app from scratch](/learn/build-a-react-app-from-scratch).
47
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
41
+
Якщо ваш застосунок містить обмеження, які не спрацюють із наявними фреймворками, або ви бажаєте побудувати власний фреймворк чи розібратися в основах, [побудуйте React-застосунок з нуля](/learn/build-a-react-app-from-scratch).
48
42
49
43
## Інтегрувати React у наявний проєкт {/*add-react-to-an-existing-project*/}
50
44
51
45
Якщо ви хочете використати React у власному застосунку або вебсайті, [інтегруйте React у наявний проєкт.](/learn/add-react-to-an-existing-project)
52
46
53
-
<<<<<<< HEAD
54
-
## Застарілі варіанти {/*deprecated-options*/}
55
-
=======
56
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
57
47
58
48
<Note>
59
49
60
-
<<<<<<< HEAD
61
-
Create React App — це застарілий інструмент, який раніше рекомендувався для створення нових React-застосунків. Якщо ви хочете почати новий проєкт за допомогою React, ви можете [створити React-застосунок](/learn/creating-a-react-app), використовуючи один із рекомендованих фреймворків.
62
-
63
-
Дізнайтеся більше у статті ["Sunsetting Create React App"](/blog/2025/02/14/sunsetting-create-react-app).
64
-
=======
65
-
#### Should I use Create React App? {/*should-i-use-create-react-app*/}
50
+
#### Чи слід використовувати Create React App? {/*should-i-use-create-react-app*/}
66
51
67
-
No. Create React App has been deprecated. For more information, see [Sunsetting Create React App](/blog/2025/02/14/sunsetting-create-react-app).
52
+
Ні. Create React App застарів. Дізнайтеся більше у статті ["Sunsetting Create React App"](/blog/2025/02/14/sunsetting-create-react-app).
Copy file name to clipboardExpand all lines: src/content/learn/render-and-commit.md
-17Lines changed: 0 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,15 +70,9 @@ export default function Image() {
70
70
Після першого рендеру компонента ви можете збудити (trigger) подальші рендери, оновивши його стан за допомогою [функції `set`.](/reference/react/useState#setstate) Оновлення стану вашого компонента автоматично додає рендер до черги. (Уявіть відвідувача ресторану, який після першого замовлення замовляє чай, десерт та всяку всячину залежно від стану спраги чи голоду).
71
71
72
72
<IllustrationBlocksequential>
73
-
<<<<<<< HEAD
74
73
<Illustrationcaption="Оновлення стану..."alt="React як офіціант у ресторані, що подає клієнту, представленому як постать з курсором замість голови, інтерфейс карти (Card UI). Постать бажає рожеву картку, а не чорну!"src="/images/docs/illustrations/i_rerender1.png" />
75
74
<Illustrationcaption="...збуджує..."alt="React повертається до кухні компонентів (Component Kitchen) і каже кухареві карток, що потрібна рожева картка (Card)."src="/images/docs/illustrations/i_rerender2.png" />
76
75
<Illustrationcaption="...рендер!"alt="Кухар карток видає React рожеву картку (Card)."src="/images/docs/illustrations/i_rerender3.png" />
77
-
=======
78
-
<Illustrationcaption="State update..."alt="React as a server in a restaurant, serving a Card UI to the user, represented as a patron with a cursor for their head. The patron expresses they want a pink card, not a black one!"src="/images/docs/illustrations/i_rerender1.png" />
79
-
<Illustrationcaption="...triggers..."alt="React returns to the Component Kitchen and tells the Card Chef they need a pink Card."src="/images/docs/illustrations/i_rerender2.png" />
80
-
<Illustrationcaption="...render!"alt="The Card Chef gives React the pink Card."src="/images/docs/illustrations/i_rerender3.png" />
@@ -90,11 +84,7 @@ export default function Image() {
90
84
91
85
Цей процес є рекурсивним: якщо оновлений компонент повертає якийсь інший компонент, React буде рендерити _цей_ компонент наступним, і якщо цей компонент також щось повертає, він буде рендерити _той інший_ компонент наступним, і так далі. Процес триватиме доти, доки не залишиться вкладених компонентів, і React не знатиме точно, що саме має бути відображено на екрані.
92
86
93
-
<<<<<<< HEAD
94
87
У цьому прикладі React викличе `Gallery()` й `Image()` кілька разів:
95
-
=======
96
-
In the following example, React will call `Gallery()` and `Image()` several times:
## Крок 3: React вносить зміни в DOM {/*step-3-react-commits-changes-to-the-dom*/}
160
150
161
-
<<<<<<< HEAD
162
151
Після рендерингу (виклику) ваших компонентів React модифікує DOM.
163
152
164
153
***Для початкового рендерингу** React використовує API DOM [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild), щоб вивести на екран усі новостворені вузли DOM.
165
154
***Для повторних рендерів** React застосовує мінімально необхідні операції (обчислені під час рендерингу!), щоб оновити DOM відповідно до результату найсвіжішого рендерингу.
166
-
=======
167
-
After rendering (calling) your components, React will modify the DOM.
168
-
169
-
***For the initial render,** React will use the [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) DOM API to put all the DOM nodes it has created on screen.
170
-
***For re-renders,** React will apply the minimal necessary operations (calculated while rendering!) to make the DOM match the latest rendering output.
171
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
172
155
173
156
**React змінює вузли DOM тільки тоді, коли є різниця між рендерами.** Наприклад, ось компонент, який повторно рендериться щосекунди з різними властивостями, що передаються від батьківського компонента. Зверніть увагу, що можна додати текст у `<input>`, оновивши його `value`, але текст не зникає, коли компонент рендериться повторно:
Copy file name to clipboardExpand all lines: src/content/learn/setup.md
-12Lines changed: 0 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,7 @@ title: Налаштування
3
3
---
4
4
<Intro>
5
5
6
-
<<<<<<< HEAD
7
6
React інтегрується з різними інструментами: редакторами, TypeScript, розширеннями браузера та компіляторами. Цей розділ допоможе вам налаштувати середовище.
8
-
=======
9
-
React integrates with tools like editors, TypeScript, browser extensions, and compilers. This section will help you get your environment set up.
10
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
11
7
12
8
</Intro>
13
9
@@ -27,14 +23,6 @@ TypeScript — це популярний спосіб додавати визн
27
23
28
24
React Compiler — це інструмент, який автоматично оптимізує ваш React-застосунок. [Дізнатися більше](/learn/react-compiler).
29
25
30
-
<<<<<<< HEAD
31
-
## Start a React Project from scratch {/*start-a-react-project-from-scratch*/}
32
-
33
-
If you want to build your own framework, you can [start a React project from scratch](/learn/start-a-react-project-from-scratch).
34
-
35
26
## Подальші кроки {/*next-steps*/}
36
-
=======
37
-
## Next steps {/*next-steps*/}
38
-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
39
27
40
28
Відвідайте посібник ["Швидкий старт"](/learn), щоб ознайомитися з найважливішими концепціями React, з якими ви стикаєтеся щодня.
0 commit comments