Skip to content

Commit 5d80556

Browse files
committed
Resolve merge conflicts
1 parent a07fd79 commit 5d80556

File tree

6 files changed

+15
-230
lines changed

6 files changed

+15
-230
lines changed

src/content/learn/building-a-react-framework.md

Lines changed: 0 additions & 137 deletions
This file was deleted.

src/content/learn/creating-a-react-app.md

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,19 @@ title: Створення React-застосунку
88

99
</Intro>
1010

11-
<<<<<<< HEAD
12-
## Рекомендовані React-фреймворки {/*bleeding-edge-react-frameworks*/}
13-
=======
14-
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).
1512

16-
## Full-stack frameworks {/*full-stack-frameworks*/}
17-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
13+
## Фреймворки повного стеку {/*full-stack-frameworks*/}
1814

1915
Ці фреймворки підтримують усі функції, що знадобляться для розгортання та масштабування застосунку в публічному середовищі (in production). Вони інтегрували останні React-функції й послуговуються перевагами архітектури React.
2016

2117
<Note>
2218

23-
<<<<<<< HEAD
24-
#### React-фреймворки не потребують сервера. {/*react-frameworks-do-not-require-a-server*/}
19+
#### Фреймворки повного стеку не потребують сервера. {/*react-frameworks-do-not-require-a-server*/}
2520

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) для певних маршрутів, якщо вам це необхідно.
2922

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+
Це дає вам змогу почати із суто клієнтського застосунку і за необхідності пізніше використати серверні функції для окремих маршрутів без переписування застосунку. Щоб налаштувати стратегію рендерингу, перегляньте документацію вашого фреймворку.
3424

3525
</Note>
3626

@@ -69,11 +59,7 @@ npx create-expo-app@latest
6959
Expo підтримується [компанією Expo](https://expo.dev/about). Розробляти застосунки за допомогою Expo можна безкоштовно, і їх можна подавати до каталогів застосунків Google і Apple без жодних обмежень. На додачу Expo пропонує необов'язкові платні хмарні послуги.
7060

7161

72-
<<<<<<< HEAD
73-
## Інші варіанти {/*other-options*/}
74-
=======
75-
## Other frameworks {/*other-frameworks*/}
76-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
62+
## Інші фреймворки {/*other-frameworks*/}
7763

7864
Є й інші перспективні фреймворки, які працюють над нашим баченням повного стеку з React:
7965

@@ -114,27 +100,13 @@ App Router від Next.js також інтегрує [отримання дан
114100

115101
</DeepDive>
116102

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*/}
125104

126-
React Router v7 — це фреймворк на основі Vite, який дає вам змогу використовувати швидкий сервер розробки Vite та налаштувати все за допомогою фреймворку, який забезпечує маршрутизацію та отримання даних. Як і в інших фреймворках, які ми рекомендуємо, ви можете створити SPA за допомогою React Router v7.
105+
Якщо ваш застосунок містить обмеження, які не спрацюють із наявними фреймворками, або ви бажаєте побудувати власний фреймворк чи розібратися в основах React-застосунку, є інші доступні варіанти для початку React-проєкту з нуля.
127106

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), мають готові вбудовані рішення для цих проблем.
135108

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/).
138110

139111
-----
140112

src/content/learn/installation.md

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,38 +36,22 @@ export default function App() {
3636

3737
Якщо ви хочете почати проєкт за допомогою React, [створіть React-застосунок](/learn/creating-a-react-app), використовуючи один із рекомендованих фреймворків.
3838

39-
<<<<<<< HEAD
40-
## Побудова React-фреймворку {/*build-a-react-framework*/}
39+
## Побудувати React-застосунок з нуля {/*build-a-react-app-from-scratch*/}
4140

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).
4842

4943
## Інтегрувати React у наявний проєкт {/*add-react-to-an-existing-project*/}
5044

5145
Якщо ви хочете використати React у власному застосунку або вебсайті, [інтегруйте React у наявний проєкт.](/learn/add-react-to-an-existing-project)
5246

53-
<<<<<<< HEAD
54-
## Застарілі варіанти {/*deprecated-options*/}
55-
=======
56-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
5747

5848
<Note>
5949

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*/}
6651

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).
6853

6954
</Note>
70-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
7155

7256
## Подальші кроки {/*next-steps*/}
7357

src/content/learn/render-and-commit.md

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,9 @@ export default function Image() {
7070
Після першого рендеру компонента ви можете збудити (trigger) подальші рендери, оновивши його стан за допомогою [функції `set`.](/reference/react/useState#setstate) Оновлення стану вашого компонента автоматично додає рендер до черги. (Уявіть відвідувача ресторану, який після першого замовлення замовляє чай, десерт та всяку всячину залежно від стану спраги чи голоду).
7171

7272
<IllustrationBlock sequential>
73-
<<<<<<< HEAD
7473
<Illustration caption="Оновлення стану..." alt="React як офіціант у ресторані, що подає клієнту, представленому як постать з курсором замість голови, інтерфейс карти (Card UI). Постать бажає рожеву картку, а не чорну!" src="/images/docs/illustrations/i_rerender1.png" />
7574
<Illustration caption="...збуджує..." alt="React повертається до кухні компонентів (Component Kitchen) і каже кухареві карток, що потрібна рожева картка (Card)." src="/images/docs/illustrations/i_rerender2.png" />
7675
<Illustration caption="...рендер!" alt="Кухар карток видає React рожеву картку (Card)." src="/images/docs/illustrations/i_rerender3.png" />
77-
=======
78-
<Illustration caption="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-
<Illustration caption="...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-
<Illustration caption="...render!" alt="The Card Chef gives React the pink Card." src="/images/docs/illustrations/i_rerender3.png" />
81-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
8276
</IllustrationBlock>
8377

8478
## Крок 2: React рендерить ваші компоненти {/*step-2-react-renders-your-components*/}
@@ -90,11 +84,7 @@ export default function Image() {
9084

9185
Цей процес є рекурсивним: якщо оновлений компонент повертає якийсь інший компонент, React буде рендерити _цей_ компонент наступним, і якщо цей компонент також щось повертає, він буде рендерити _той інший_ компонент наступним, і так далі. Процес триватиме доти, доки не залишиться вкладених компонентів, і React не знатиме точно, що саме має бути відображено на екрані.
9286

93-
<<<<<<< HEAD
9487
У цьому прикладі React викличе `Gallery()` й `Image()` кілька разів:
95-
=======
96-
In the following example, React will call `Gallery()` and `Image()` several times:
97-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
9888

9989
<Sandpack>
10090

@@ -158,17 +148,10 @@ img { margin: 0 10px 10px 0; }
158148

159149
## Крок 3: React вносить зміни в DOM {/*step-3-react-commits-changes-to-the-dom*/}
160150

161-
<<<<<<< HEAD
162151
Після рендерингу (виклику) ваших компонентів React модифікує DOM.
163152

164153
* **Для початкового рендерингу** React використовує API DOM [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild), щоб вивести на екран усі новостворені вузли DOM.
165154
* **Для повторних рендерів** 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
172155

173156
**React змінює вузли DOM тільки тоді, коли є різниця між рендерами.** Наприклад, ось компонент, який повторно рендериться щосекунди з різними властивостями, що передаються від батьківського компонента. Зверніть увагу, що можна додати текст у `<input>`, оновивши його `value`, але текст не зникає, коли компонент рендериться повторно:
174157

src/content/learn/setup.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ title: Налаштування
33
---
44
<Intro>
55

6-
<<<<<<< HEAD
76
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
117

128
</Intro>
139

@@ -27,14 +23,6 @@ TypeScript — це популярний спосіб додавати визн
2723

2824
React Compiler — це інструмент, який автоматично оптимізує ваш React-застосунок. [Дізнатися більше](/learn/react-compiler).
2925

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-
3526
## Подальші кроки {/*next-steps*/}
36-
=======
37-
## Next steps {/*next-steps*/}
38-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
3927

4028
Відвідайте посібник ["Швидкий старт"](/learn), щоб ознайомитися з найважливішими концепціями React, з якими ви стикаєтеся щодня.

src/sidebarLearn.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,8 @@
2929
"path": "/learn/creating-a-react-app"
3030
},
3131
{
32-
<<<<<<< HEAD
33-
"title": "Побудова React-фреймворку",
34-
"path": "/learn/building-a-react-framework"
35-
=======
36-
"title": "Build a React App from Scratch",
32+
"title": "Побудова React-застосунку з нуля",
3733
"path": "/learn/build-a-react-app-from-scratch"
38-
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
3934
},
4035
{
4136
"title": "Інтеграція React у наявний проєкт",

0 commit comments

Comments
 (0)