Skip to content

Commit 4186497

Browse files
authored
Merge pull request #585 from reactjs/sync-9000e6e0
Sync with react.dev @ 9000e6e
2 parents 5429749 + 2fa34bb commit 4186497

File tree

14 files changed

+98
-69
lines changed

14 files changed

+98
-69
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Discord Notify
2+
3+
on:
4+
pull_request_target:
5+
types: [ labeled ]
6+
7+
jobs:
8+
notify:
9+
if: ${{ github.event.label.name == 'React Core Team' }}
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Discord Webhook Action
13+
uses: tsickert/discord-webhook@v6.0.0
14+
with:
15+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
16+
embed-author-name: ${{ github.event.pull_request.user.login }}
17+
embed-author-url: ${{ github.event.pull_request.user.html_url }}
18+
embed-author-icon-url: ${{ github.event.pull_request.user.avatar_url }}
19+
embed-title: '#${{ github.event.number }} (+${{github.event.pull_request.additions}} -${{github.event.pull_request.deletions}}): ${{ github.event.pull_request.title }}'
20+
embed-description: ${{ github.event.pull_request.body }}
21+
embed-url: ${{ github.event.pull_request.html_url }}

TRANSLATION.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@
178178
| rendered markup | відрендерена розмітка |
179179
| ref | реф |
180180
| refs | рефи |
181+
| route | маршрут |
182+
| router | маршрутизатор |
183+
| routing | маршрутизація |
181184
| (previous/next) section | (попередній/наступний) розділ *(тільки в розділі Основні поняття)* |
182185
| shallow | поверхове(а) (порівняння, рівність), поверховий (рендер) |
183186
| side effect | побічний ефект |

src/components/MDX/TerminalBlock.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ function TerminalBlock({level = 'info', children}: TerminalBlockProps) {
7171
</div>
7272
</div>
7373
<div
74-
className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-scroll"
74+
className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-auto"
7575
translate="no"
7676
dir="ltr">
7777
<LevelText type={level} />

src/content/community/conferences.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ June 13 - 17, 2025. In-person in Amsterdam, Netherlands + remote (hybrid event)
2525

2626
[Website](https://reactsummit.com/) - [Twitter](https://x.com/reactsummit)
2727

28+
### React Universe Conf 2025 {/*react-universe-conf-2025*/}
29+
September 2-4, 2025. Wrocław, Poland.
30+
31+
[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/)
32+
2833
## Past Conferences {/*past-conferences*/}
2934

3035
### React Africa 2024 {/*react-africa-2024*/}

src/content/learn/add-react-to-an-existing-project.md

Lines changed: 35 additions & 35 deletions
Large diffs are not rendered by default.

src/content/learn/importing-and-exporting-components.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ img { margin: 0 10px 10px 0; height: 90px; }
5252

5353
</Sandpack>
5454

55-
Ці компоненти зараз знаходяться у **файлі кореневого компонента** з назвою `App.js` у цьому прикладі. Залежно від вашої конфігурації ваш кореневий компонент може бути в іншому файлі. Якщо ви використовуєте фреймворк з роутингом на основі файлів, як-от Next.js, ваш кореневий компонент буде різним для кожної сторінки.
55+
Ці компоненти зараз знаходяться у **файлі кореневого компонента** з назвою `App.js` у цьому прикладі. Залежно від вашої конфігурації ваш кореневий компонент може бути в іншому файлі. Якщо ви використовуєте фреймворк із маршрутизацією на основі файлів, як-от Next.js, ваш кореневий компонент буде різним для кожної сторінки.
5656

5757
## Експорт та імпорт компонента {/*exporting-and-importing-a-component*/}
5858

src/content/learn/index.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ title: Швидкий старт
2121

2222
## Створення та вкладення компонентів {/*components*/}
2323

24-
React додатки складаються з *компонентів*. Компонент це частина UI (інтерфейсу користувача), яка має власну логіку та зовнішній вигляд. Компонент може бути маленьким, як кнопка, або ж розміром з цілу сторінку.
24+
React-застосунки складаються з *компонентів*. Компонент це частина UI (інтерфейсу користувача), яка має власну логіку та зовнішній вигляд. Компонент може бути маленьким, як кнопка, або ж розміром з цілу сторінку.
2525

2626
React компоненти це JavaScript функції які повертають розмітку:
2727

@@ -39,7 +39,7 @@ function MyButton() {
3939
export default function MyApp() {
4040
return (
4141
<div>
42-
<h1>Ласкаво просимо до мого додатку</h1>
42+
<h1>Ласкаво просимо до мого застосунку</h1>
4343
<MyButton />
4444
</div>
4545
);
@@ -64,7 +64,7 @@ function MyButton() {
6464
export default function MyApp() {
6565
return (
6666
<div>
67-
<h1>Ласкаво просимо до мого додатку</h1>
67+
<h1>Ласкаво просимо до мого застосунку</h1>
6868
<MyButton />
6969
</div>
7070
);
@@ -77,7 +77,7 @@ export default function MyApp() {
7777

7878
## Написання розмітки з використанням JSX {/*writing-markup-with-jsx*/}
7979

80-
Синтаксис розмітки, яку ви бачили вище, має назву *JSX*. Це необов'язково, але більшість React-проектів використовують JSX для зручності. Усі [інструменти, які ми рекомендуємо для локальної розробки](/learn/installation) підтримують JSX за замовчуванням.
80+
Синтаксис розмітки, яку ви бачили вище, має назву *JSX*. Це необов'язково, але більшість React-проєктів використовують JSX для зручності. Усі [інструменти, які ми рекомендуємо для локальної розробки](/learn/installation) підтримують JSX за замовчуванням.
8181

8282
JSX більш строгий, ніж HTML. Ви зобов'язані закривати такі теги як `<br />`. Також ваш компонент не може повертати декілька JSX тегів. Ви повинні огортати їх у спільний батьківський елемент, такий як `<div>...</div>` або пусту `<>...</>` обгортку:
8383

@@ -111,7 +111,7 @@ function AboutPage() {
111111
```
112112
113113
114-
React не вказує, як додавати файли CSS. У найпростішому випадку ви додасте тег [`<link>`](https://webdoky.org/uk/docs/Web/HTML/Element/link) до свого HTML. Якщо ви використовуєте інструмент збірки або фреймворк, зверніться до його документації, щоб дізнатися, як додати файл CSS до вашого проекту.
114+
React не вказує, як додавати файли CSS. У найпростішому випадку ви додасте тег [`<link>`](https://webdoky.org/uk/docs/Web/HTML/Element/link) до свого HTML. Якщо ви використовуєте інструмент збірки або фреймворк, зверніться до його документації, щоб дізнатися, як додати файл CSS до вашого проєкту.
115115
116116
## Відображення даних {/*displaying-data*/}
117117
@@ -383,7 +383,7 @@ button {
383383
384384
## Використання хуків {/*using-hooks*/}
385385
386-
Функції, що починаються з `use`, називаються *Хуками*. `useState` — це вбудований Хук, наданий React. Ви можете знайти інші вбудовані Хуки в [API довіднику](/reference/react). Також ви можете написати власні Хуки, комбінуючи існуючі.
386+
Функції, що починаються з `use`, називаються *Хуками*. `useState` — це вбудований Хук, наданий React. Ви можете знайти інші вбудовані Хуки в [API довіднику](/reference/react). Також ви можете написати власні Хуки, комбінуючи наявні.
387387
388388
Хуки є більш обмежувальними, ніж інші функції. Ви можете викликати Хуки лише *на верхньому рівні* ваших компонентів (або інших Хуків). Якщо ви хочете використовувати `useState` в умові або циклі, витягніть це в новий компонент і помістіть його туди.
389389
@@ -535,4 +535,4 @@ button {
535535
536536
Тепер ви знаєте основи написання React коду!
537537
538-
Перегляньте [Туторіал](/learn/tutorial-tic-tac-toe) щоб застосувати їх на практиці та створити свій перший міні-додаток із React.
538+
Перегляньте [Туторіал](/learn/tutorial-tic-tac-toe) щоб застосувати їх на практиці та створити свій перший міні-застосунок із React.

src/content/learn/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ title: Встановлення
1111
<YouWillLearn isChapter={true}>
1212

1313
* [Як почати новий React-проєкт](/learn/start-a-new-react-project)
14-
* [Як інтегрувати React в існуючий проєкт](/learn/add-react-to-an-existing-project)
14+
* [Як інтегрувати React у наявний проєкт](/learn/add-react-to-an-existing-project)
1515
* [Як налаштувати редактор коду](/learn/editor-setup)
1616
* [Як встановити інструменти React розробника](/learn/react-developer-tools)
1717

@@ -47,9 +47,9 @@ export default function App() {
4747

4848
Якщо ви хочете створити застосунок або вебсайт за допомогою React, [почніть новий React-проєкт.](/learn/start-a-new-react-project)
4949

50-
## Інтегрувати React в існуючий проєкт {/*add-react-to-an-existing-project*/}
50+
## Інтегрувати React у наявний проєкт {/*add-react-to-an-existing-project*/}
5151

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

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

src/content/learn/updating-arrays-in-state.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ button { margin-left: 5px; }
8888

8989
</Sandpack>
9090

91-
Натомість створіть *новий* масив, який містить існуючі елементи *і* новий елемент у кінці. Це можна зробити кількома способами, але найпростішим є використання `...` — синтаксису [spread для масиву](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#spread_in_array_literals):
91+
Натомість створіть *новий* масив, який містить наявні елементи *і* новий елемент у кінці. Це можна зробити кількома способами, але найпростішим є використання `...` — синтаксису [spread для масиву](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#spread_in_array_literals):
9292

9393
```js
9494
setArtists( // Замінити стан
@@ -443,7 +443,7 @@ export default function List() {
443443

444444
Тут ви використовуєте spread-синтаксис `[...list]`, щоб спочатку створити копію вихідного масиву. Тепер, коли маєте копію, можете використовувати методи зміни, як-от `nextList.reverse()` або `nextList.sort()`, або навіть призначати окремі елементи за допомогою `nextList[0] = "something"`.
445445

446-
Однак, **навіть якщо скопіюєте масив, ви не зможете змінити існуючі елементи _всередині_ нього безпосередньо.** Це пояснюється тим, що копіювання неглибоке — новий масив міститиме ті самі елементи, що й оригінальний. Отже, якщо змінюєте об'єкт у скопійованому масиві, ви змінюєте наявний стан. Наприклад, такий код є проблемою.
446+
Однак, **навіть якщо скопіюєте масив, ви не зможете змінити наявні елементи _всередині_ нього безпосередньо.** Це пояснюється тим, що копіювання неглибоке — новий масив міститиме ті самі елементи, що й оригінальний. Отже, якщо змінюєте об'єкт у скопійованому масиві, ви змінюєте наявний стан. Наприклад, такий код є проблемою.
447447

448448
```js
449449
const nextList = [...list];
@@ -544,7 +544,7 @@ function ItemList({ artworks, onToggle }) {
544544
```js
545545
const myNextList = [...myList];
546546
const artwork = myNextList.find(a => a.id === artworkId);
547-
artwork.seen = nextSeen; // Проблема: мутація існуючого елементу
547+
artwork.seen = nextSeen; // Проблема: мутація наявного елементу
548548
setMyList(myNextList);
549549
```
550550

@@ -566,7 +566,7 @@ setMyList(myList.map(artwork => {
566566

567567
Тут `...` — синтаксис spread об'єкта, який використовується для [створення копії об'єкта.](/learn/updating-objects-in-state#copying-objects-with-the-spread-syntax)
568568

569-
За допомогою цього підходу жоден із існуючих елементів стану не змінюється, і помилку виправлено:
569+
За допомогою цього підходу жоден із наявних елементів стану не змінюється, і помилку виправлено:
570570

571571
<Sandpack>
572572

0 commit comments

Comments
 (0)