Skip to content

docs: ✨ translate useState.md + minor terminology fixes #601

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pavlosambur
Copy link
Contributor

Привіт!
Будь ласка, ось переклад сторінки useState.md.

Хочу звернути увагу на кілька моментів:

  1. Я намагаюся дотримуватися інструкцій та вимог, але я ще новачок у вашій поважній спільноті, тож, можливо, ще не до кінця відчув ваш стиль і підходи.

  2. У прикладах коду я переклав усі рядки (strings) кирилицею: EdwardЕдвард, ItemЕлемент і т.д. Не впевнений, чи це правильно — готовий виправити за потреби.

  3. Звертаю окрему увагу на рядки 808–810. Можливо, мені здалося, але в оригіналі автори трохи "відірвалися", тож і я дозволив собі трохи свободи у перекладі :)

Окрім useState.md, трохи підправив кілька інших сторінок:

  1. У Fragments.md замінив "Обмеження" на "Застереження", як це вже прийнято в інших перекладах.

  2. У useContext.md та forwardRef.md замінив "Усунення несправностей / неполадок" на "Поширені проблеми". Мені здається, це звучить природніше українською. Якщо питання дискусійне — варто уніфікувати термін.

  3. У responding-to-events.md виправив "батьківському елементі" на "батьківському компоненті", оскільки йдеться саме про компонент React.

Дякую за увагу!
Буду вдячний за зворотний зв'язок і готовий внести правки, якщо щось потрібно покращити 🙌

Copy link

vercel bot commented Mar 30, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
uk-legacy-reactjs-org ⬜️ Ignored (Inspect) Visit Preview Mar 30, 2025 3:14pm

@alinkedd
Copy link
Collaborator

@pavlosambur будь ласка, наступного разу атомарно: окремо PR на переклад й окремо PR на фікси, якщо вони не пов'язані

Copy link
Collaborator

@alinkedd alinkedd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Дякую за PR і вибач за запізнілу перевірку.
Мені дуже сподобалося, що ти врахував попередні зауваження :) І також сподіваюся, що нові зауваження не позбавлять бажання перекладати ще, та й можна взяти якусь статтю коротше, а то з довгими у мене труднощі :)

@@ -483,7 +483,7 @@ input {

---

## Усунення неполадок {/*troubleshooting*/}
## Поширені проблеми {/*troubleshooting*/}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Поширені проблеми {/*troubleshooting*/}
## Усунення проблем {/*troubleshooting*/}

@@ -1343,7 +1343,7 @@ function MyApp() {

---

## Усунення несправностей {/*troubleshooting*/}
## Поширені проблеми {/*troubleshooting*/}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Поширені проблеми {/*troubleshooting*/}
## Усунення проблем {/*troubleshooting*/}

@@ -4,7 +4,7 @@ title: useState

<Intro>

`useState` is a React Hook that lets you add a [state variable](/learn/state-a-components-memory) to your component.
`useState` — хук React, який дозволяє додати [змінну стану](/learn/state-a-components-memory) до вашого компонента.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`useState` — хук React, який дозволяє додати [змінну стану](/learn/state-a-components-memory) до вашого компонента.
`useState` — хук React, який дає змогу додати [змінну стану](/learn/state-a-components-memory) до вашого компонента.

https://onlinecorrector.com.ua/%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7%D0%BC%D0%BE%D0%B3%D1%83-%D0%BD%D0%B0%D0%B3%D0%BE%D0%B4%D1%83/


### `useState(initialState)` {/*usestate*/}

Call `useState` at the top level of your component to declare a [state variable.](/learn/state-a-components-memory)
Викликачте `useState` на верхньому рівні вашого компонента, щоб оголосити [змінну стану.](/learn/state-a-components-memory)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Викликачте `useState` на верхньому рівні вашого компонента, щоб оголосити [змінну стану.](/learn/state-a-components-memory)
Викличте `useState` на верхньому рівні вашого компонента, щоб оголосити [змінну стану.](/learn/state-a-components-memory)

* `initialState`: The value you want the state to be initially. It can be a value of any type, but there is a special behavior for functions. This argument is ignored after the initial render.
* If you pass a function as `initialState`, it will be treated as an _initializer function_. It should be pure, should take no arguments, and should return a value of any type. React will call your initializer function when initializing the component, and store its return value as the initial state. [See an example below.](#avoiding-recreating-the-initial-state)
* `initialState`: Значення, яке ви хочете встановити як початкове для стану. Це може бути значення будь-якого типу, але якщо це функція — діють особливі правила. Цей аргумент ігнорується після першого рендеру.
* Якщо ви передаєте функцію як `initialState`, вона спрацює як як _функція-ініціалізатор_. Вона має бути чистою, без аргументів, і повертати будь-яке значення. React викличе її під час ініціалізації компонента й збереже те, що вона поверне, як початковий стан. [Дивіться приклад нижче.](#avoiding-recreating-the-initial-state)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Якщо ви передаєте функцію як `initialState`, вона спрацює як як _функція-ініціалізатор_. Вона має бути чистою, без аргументів, і повертати будь-яке значення. React викличе її під час ініціалізації компонента й збереже те, що вона поверне, як початковий стан. [Дивіться приклад нижче.](#avoiding-recreating-the-initial-state)
* Якщо ви передаєте функцію як `initialState`, вона спрацює як _функція-ініціалізатор_. Вона має бути чистою, без аргументів, і повертати будь-яке значення. React викличе її під час ініціалізації компонента й збереже те, що вона поверне, як початковий стан. [Дивіться приклад нижче.](#avoiding-recreating-the-initial-state)

prevTodos.push(createTodo());
});
```

Because React calls your updater function twice, you'll see the todo was added twice, so you'll know that there is a mistake. In this example, you can fix the mistake by [replacing the array instead of mutating it](#updating-objects-and-arrays-in-state):
Оскільки React викликає вашу функцію-оновлювач двічі, ви побачите, що todo додано двічі — це сигналізує про помилку. У цьому випадку можна виправити це [замінюючи масив новим, а не мутуючи його](#updating-objects-and-arrays-in-state):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Оскільки React викликає вашу функцію-оновлювач двічі, ви побачите, що todo додано двічі — це сигналізує про помилку. У цьому випадку можна виправити це [замінюючи масив новим, а не мутуючи його](#updating-objects-and-arrays-in-state):
Оскільки React викликає вашу функцію-оновлювач двічі, ви побачите, що завдання додано двічі — це сигналізує про помилку. У цьому разі це можна виправити, [замінивши масив новим замість зміни](#updating-objects-and-arrays-in-state):

return [...prevTodos, createTodo()];
});
```

Now that this updater function is pure, calling it an extra time doesn't make a difference in behavior. This is why React calling it twice helps you find mistakes. **Only component, initializer, and updater functions need to be pure.** Event handlers don't need to be pure, so React will never call your event handlers twice.
Тепер, коли ця функція-оновлювач чиста, її повторний виклик не змінює поведінки. Саме тому подвійний виклик допомагає виявляти помилки. **Лише функції компонента, ініціалізатора та оновлення повинні бути чистими.** Обробники подій не повинні бути чистими, тож React ніколи не викликатиме їх двічі.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Тепер, коли ця функція-оновлювач чиста, її повторний виклик не змінює поведінки. Саме тому подвійний виклик допомагає виявляти помилки. **Лише функції компонента, ініціалізатора та оновлення повинні бути чистими.** Обробники подій не повинні бути чистими, тож React ніколи не викликатиме їх двічі.
Тепер, коли ця функція-оновлювач чиста, її повторний виклик не змінює поведінки. Саме тому подвійний виклик допомагає виявляти помилки. **Лише функції компонента, ініціалізатора та оновлення повинні бути чистими.** Обробники подій не повинні бути чистими, і React ніколи не викликатиме їх двічі.


Read [keeping components pure](/learn/keeping-components-pure) to learn more.
Дізнайтесь більше з розділу [про чистоту компонентів.](/learn/keeping-components-pure)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Дізнайтесь більше з розділу [про чистоту компонентів.](/learn/keeping-components-pure)
Дізнайтесь більше з розділу [про чисті компоненти.](/learn/keeping-components-pure)


---

### I'm trying to set state to a function, but it gets called instead {/*im-trying-to-set-state-to-a-function-but-it-gets-called-instead*/}
### Я намагаюся зберегти у стан функцію, але вона викликається замість цього {/*im-trying-to-set-state-to-a-function-but-it-gets-called-instead*/}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Я намагаюся зберегти у стан функцію, але вона викликається замість цього {/*im-trying-to-set-state-to-a-function-but-it-gets-called-instead*/}
### Я намагаюся зберегти функцію у стані, але натомість вона викликається {/*im-trying-to-set-state-to-a-function-but-it-gets-called-instead*/}


You can't put a function into state like this:
Не можна зберігати функцію у стан ось так:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Не можна зберігати функцію у стан ось так:
Не можна класти функцію у стан ось так:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants