Керування станом · Junior · Запитання 2 з 75
Чому лічильник на екрані не змінюється?
function Counter() {
let count = 0;
return <button onClick={() => count++}>{count}</button>;
}- ✓Правильна відповідь: Локальна змінна не зберігається між рендерами, а її зміна не спричиняє рендер
- 2Обробники
onClickне можуть змінювати змінні, оголошені в компоненті - 3Кнопці потрібен
type="button", щоб клік оновив текст
Пояснення
count при кожному рендері знову дорівнює 0, а її збільшення не просить React перемалювати компонент. Потрібно const [count, setCount] = useState(0) і setCount(count + 1).