Проверяет понимание различий между компонентами с внутренним состоянием и чистыми компонентами без состояния в React.
В React компоненты делятся на два типа: stateful (с состоянием) и stateless (без состояния). Stateful компоненты могут хранить и изменять данные внутри себя, используя механизмы вроде useState или классовые методы. Stateless компоненты — это чистые функции, которые получают данные через props и просто отображают их, не имея собственного состояния.
Рассмотрим простой пример. Stateless компонент отображает приветствие:
function Greeting({ name }) {
return <h1>Hello, {name}!</h1>;
}Stateful компонент может изменять свое состояние, например, счетчик:
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}Stateless компоненты полезны для отображения статичных данных, таких как списки, карточки или заголовки. Они проще для понимания и переиспользования. Stateful компоненты применяются для интерактивных элементов: форм, модальных окон, таймеров. В больших приложениях состояние часто выносится в глобальные хранилища (Redux, Context), чтобы уменьшить количество stateful компонентов и сделать архитектуру более предсказуемой.
Используйте stateless компоненты везде, где возможно, чтобы упростить код и тестирование. Stateful компоненты оправданы, когда локальное состояние действительно необходимо, но старайтесь минимизировать их количество, вынося сложную логику в хуки или внешние хранилища.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию