Props и state: данные в React
Props — входные данные компонента (только чтение). State — локальные данные, которые компонент может менять через сеттер. Поток данных однонаправленный: сверху вниз через props.
useState
const [value, setValue] = useState(initial). Не мутируйте объекты/массивы — создавайте новые копии при обновлении.
Подъём состояния
Если двум детям нужны одни данные — храните state в родителе и передавайте вниз. Так проще синхронизировать UI.
Дальше
Побочные эффекты: хуки useState и useEffect.
JavaScript
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<button type="button" onClick={() => setCount(count + 1)}>
Кликов: {count}
</button>
);
} Практическое задание
Задание: сделайте счётчик и вынесите отображение в дочерний компонент.
- State живёт в родителе
- Дочерний компонент получает value через props
- Кнопка меняет state через колбэк из родителя
- Нет прямой мутации count++