--- sidebar_position: 10 --- # Pure function Чистая функция не меняет никаких объектов или переменных, которые существовали до её вызова. При указании одинаковых входных данных должен быть всегда один и тот же результат. В контексте **React** чистая функция — это **функция, которая**: 1. **Детерминирована** — при одинаковых входных данных всегда возвращает одинаковый результат. 2. **Не изменяет внешнее состояние** — не мутирует `props`, `state` или глобальные переменные. React предполагает, что каждый написанный компонент является чистой функцией. React всегда должен возвращать один и тот же JSX при одинаковых входных данных. ## Примеры чистых и нечистых функций в React ✅ Чистая функция (без побочных эффектов): ```tsx function add(a: number, b: number) { return a + b; } console.log(add(2, 3)); // 5 console.log(add(2, 3)); // 5 (всегда один и тот же результат) ``` ❌ Нечистая функция (изменяет внешнее состояние): ```tsx let total = 0; function addToTotal(value: number) { total += value; return total; } console.log(addToTotal(5)); // 5 console.log(addToTotal(5)); // 10 (изменяется внешнее состояние!) ``` ## Чистые функции в React-компонентах ✅ Функциональные компоненты в React должны быть чистыми! ```tsx function Greeting({ name }: { name: string }) { return