Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
obrobka_podij [2024/03/11 19:34] tro |
obrobka_podij [2024/03/19 18:34] (текущий) tro |
||
|---|---|---|---|
| Строка 69: | Строка 69: | ||
| </ | </ | ||
| + | ===== Реактивність ===== | ||
| + | * Локальні змінні не зберігаються між рендерами. Коли React рендерить цей компонент вдруге, | ||
| + | * Зміни локальних змінних не викликають повторних рендерів. React не усвідомлює необхідності повторного рендерингу компонента з новими даними. | ||
| + | < | ||
| + | const App = () => { | ||
| + | let clicks = 0; | ||
| + | const handleClick = () => { | ||
| + | clicks = clicks + 1; | ||
| + | }; | ||
| + | |||
| + | return <button onClick={handleClick}> | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | Для оновлення компонента новими даними потрібно виконати дві речі: | ||
| + | |||
| + | * Зберегти дані між рендерами. | ||
| + | * Заставити React рендерити компонент з новими даними (повторний рендеринг). | ||
| + | |||
| + | < | ||
| + | import { useState } from ' | ||
| + | |||
| + | const App = () => { | ||
| + | const [ clicks, setClicks ] = useState(0); | ||
| + | |||
| + | const handleClick = () => { | ||
| + | // clicks = clicks + 1; | ||
| + | setClicks(clicks + 1); | ||
| + | }; | ||
| + | |||
| + | return <button onClick={handleClick}> | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | ===== Отримання події онСабміт форми ===== | ||
| + | < | ||
| + | const handlesumbint=(event)=> | ||
| + | | ||
| + | conust userEmail = event.currentTarget.elements.userMail.value; | ||
| + | | ||
| + | event.currentTarget.reset() // | ||
| + | } | ||
| + | </ | ||