From 9cf653f47a7fb77e63122fb7085d56c45dc7b4c9 Mon Sep 17 00:00:00 2001 From: Maxim Tereshko Date: Thu, 27 Apr 2023 19:12:53 +0200 Subject: [PATCH 01/14] chore: added draft --- src/content/learn/responding-to-events.md | 179 +++++++++++----------- 1 file changed, 90 insertions(+), 89 deletions(-) diff --git a/src/content/learn/responding-to-events.md b/src/content/learn/responding-to-events.md index 782b6c0f1..21b1a7d88 100644 --- a/src/content/learn/responding-to-events.md +++ b/src/content/learn/responding-to-events.md @@ -1,24 +1,24 @@ --- -title: Responding to Events +title: Обработка событий --- -React lets you add *event handlers* to your JSX. Event handlers are your own functions that will be triggered in response to interactions like clicking, hovering, focusing form inputs, and so on. +React позволяет добавлять *обработчики событий* в JSX. Обработчики событий - это функции, которые вызываются в ответ на такие события, как клик на элемент, наведение курсора, фокус поля формы и так далее. -* Different ways to write an event handler -* How to pass event handling logic from a parent component -* How events propagate and how to stop them +* Способы написания обработчика событий +* Как передавать логику обработки событий от родительского компонента +* Как распространяются события и как их останавливать -## Adding event handlers {/*adding-event-handlers*/} +## Добавление обработчиков событий {/*adding-event-handlers*/} -To add an event handler, you will first define a function and then [pass it as a prop](/learn/passing-props-to-a-component) to the appropriate JSX tag. For example, here is a button that doesn't do anything yet: +Чтобы добавить обработчик событий, сначала определите функцию, а затем [передайте ее как проп](/learn/passing-props-to-a-component) в соответствующий JSX-тег. Например, ниже приведена кнопка, которая пока что ничего не делает: @@ -34,11 +34,11 @@ export default function Button() { -You can make it show a message when a user clicks by following these three steps: +Чтобы при нажатии на кнопку появилось сообщение, нужно выполнить следующие три шага: -1. Declare a function called `handleClick` *inside* your `Button` component. -2. Implement the logic inside that function (use `alert` to show the message). -3. Add `onClick={handleClick}` to the ` ); } @@ -34,10 +34,10 @@ export default function Button() { -Чтобы при нажатии на кнопку появилось сообщение, нужно выполнить следующие три шага: +Чтобы при нажатии на кнопку появилось сообщение, вам нужно выполнить следующие шаги: -1. Объявить функцию `handleClick` *внутри* вашего компонента `Button`. -2. Реализовать логику внутри этой функции (для показа сообщения используйте `alert`). +1. Определить функцию `handleClick` *внутри* вашего компонента `Button`. +2. Реализовать логику внутри этой функции (используйте `alert`, чтобы показать сообщение). 3. Добавить `onClick={handleClick}` в JSX ` ); } @@ -62,10 +62,10 @@ button { margin-right: 10px; } -Мы определили функцию `handleClick`, а затем [передали ее как проа](/learn/passing-props-to-a-component) в ` ); } function UploadButton() { return ( - ); } @@ -207,7 +207,7 @@ function UploadButton() { export default function Toolbar() { return (
- +
); @@ -251,11 +251,11 @@ function Button({ onSmash, children }) { export default function App() { return (
- -
); @@ -278,8 +278,8 @@ button { margin-right: 10px; } export default function App() { return ( alert('Playing!')} - onUploadImage={() => alert('Uploading!')} + onPlayMovie={() => alert('Воспроизводится!')} + onUploadImage={() => alert('Загружается!')} /> ); } @@ -288,10 +288,10 @@ function Toolbar({ onPlayMovie, onUploadImage }) { return (
); @@ -328,11 +328,11 @@ export default function Toolbar() {
{ alert('You clicked on the toolbar!'); }}> - -
); @@ -382,11 +382,11 @@ export default function Toolbar() {
{ alert('You clicked on the toolbar!'); }}> - -
); @@ -468,9 +468,9 @@ function Button({ onClick, children }) { ```js export default function Signup() { return ( - alert('Submitting!')}> + alert('Отправление!')}> - + ); } @@ -491,10 +491,10 @@ export default function Signup() { return (
{ e.preventDefault(); - alert('Submitting!'); + alert('Отправление!'); }}> - +
); } @@ -554,7 +554,7 @@ export default function LightSwitch() { return ( ); } @@ -581,7 +581,7 @@ export default function LightSwitch() { return ( ); } @@ -606,7 +606,7 @@ export default function LightSwitch() { return ( ); } @@ -664,7 +664,7 @@ export default function App() {

-

Clicks on the page: {clicks}

+

Нажатий на страницу: {clicks}

); } @@ -689,7 +689,7 @@ export default function ColorSwitch({ e.stopPropagation(); onChangeColor(); }}> - Change color + Изменить цвет ); } @@ -723,7 +723,7 @@ export default function App() {

-

Clicks on the page: {clicks}

+

Нажатий на страницу: {clicks}

); } From 9432de02e86f3cdd78ef49e0a454d7568651fd95 Mon Sep 17 00:00:00 2001 From: Maxim Tereshko Date: Sat, 29 Apr 2023 10:14:54 +0200 Subject: [PATCH 05/14] fix: fixed code examples --- src/content/learn/responding-to-events.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/content/learn/responding-to-events.md b/src/content/learn/responding-to-events.md index 779b776fe..b1342145c 100644 --- a/src/content/learn/responding-to-events.md +++ b/src/content/learn/responding-to-events.md @@ -50,7 +50,7 @@ export default function Button() { return ( ); } @@ -62,7 +62,7 @@ button { margin-right: 10px; } -Вы определили функцию `handleClick`, а затем [передали ее как проп](/learn/passing-props-to-a-component) в ` ); } From 60fb58208829b12bea2e96e3c5a964e8dc0d9847 Mon Sep 17 00:00:00 2001 From: Maxim Tereshko Date: Sat, 29 Apr 2023 12:10:26 +0200 Subject: [PATCH 06/14] chore: refactored typos --- src/content/learn/responding-to-events.md | 180 +++++++++++----------- 1 file changed, 91 insertions(+), 89 deletions(-) diff --git a/src/content/learn/responding-to-events.md b/src/content/learn/responding-to-events.md index b1342145c..932a7fb38 100644 --- a/src/content/learn/responding-to-events.md +++ b/src/content/learn/responding-to-events.md @@ -4,21 +4,21 @@ title: Обработка событий -В React можно добавлять позволяет добавлять *обработчики событий* в JSX. Обработчики событий - это функции, которые вызываются в ответ на событие, например, клик на элемент, наведение курсора, фокус поля формы и так далее. +React позволяет добавлять *обработчики событий* прямо в JSX. Обработчики событий - это функции, которые вызываются в ответ на определенное событие, например, клик на элемент, наведение курсора, фокус поля формы и т.д. -* Как писать обработчики событий +* Различные способы написания обработчика событий * Как передавать логику обработки событий от родительского компонента -* Как всплывают события и как их останавливать +* Как события распространяются и как их остановить ## Добавление обработчиков событий {/*adding-event-handlers*/} -Для того, чтобы добавить обработчик событий, сначала нужно создать функцию, а затем [передать ее пропом](/learn/passing-props-to-a-component) в соответствующий JSX-тег. Ниже приведена кнопка, которая пока еще ничего не делает: +Чтобы добавить обработчик событий, сначала нужно определить функцию, а затем передать ее [в качестве пропа](/learn/passing-props-to-a-component) в соответствующий тег JSX. Например, вот кнопка, которая пока не имеет обработчика событий: @@ -26,7 +26,7 @@ title: Обработка событий export default function Button() { return ( ); } @@ -34,11 +34,11 @@ export default function Button() { -Чтобы при нажатии на кнопку появилось сообщение, вам нужно выполнить следующие шаги: +Для того, чтобы при нажатии на кнопку появилось сообщение, следуйте этим шагам: -1. Определить функцию `handleClick` *внутри* вашего компонента `Button`. -2. Реализовать логику внутри этой функции (используйте `alert`, чтобы показать сообщение). -3. Добавить `onClick={handleClick}` в JSX ` ); }