Ответ
React 16.8+ (с хуками) и старые версии (до 16.8) отличаются подходом к управлению состоянием и логикой:
-
Классы vs Функции
Раньше state и lifecycle-методы были доступны только в классовых компонентах. С хуками функциональные компоненты получили ту же функциональность. -
Хуки
// До хуков
class Counter extends React.Component {
state = { count: 0 };
increment = () => this.setState({ count: this.state.count + 1 });
}
// С хуками
function Counter() {
const [count, setCount] = useState(0);
const increment = () => setCount(c => c + 1);
}
-
Lifecycle-методы
ВместоcomponentDidMount,componentDidUpdateиспользуютuseEffect. -
Оптимизации
Новые версии предлагаютReact.memo,useMemo,useCallbackдля оптимизации рендеринга. -
Контекст
Старый Context API был экспериментальным, новый (useContext) — стабильный и удобный.