fix: update hoc

This commit is contained in:
2025-11-01 13:20:27 +03:00
parent a1fd7eaebc
commit 25f57c6310

View File

@@ -41,4 +41,40 @@ Higher-Order Components (HOC) — это продвинутая техника
В остальных случаях, особенно в новых проектах, рекомендуется использовать хуки, так как они проще и удобнее. В остальных случаях, особенно в новых проектах, рекомендуется использовать хуки, так как они проще и удобнее.
## Пример
```jsx
import React from 'react';
// HOC: принимает компонент и возвращает новый
function withLogger(WrappedComponent) {
return function WithLogger(props) {
console.log('Props:', props);
// можно добавить любую доп. логику
return <WrappedComponent {...props} />;
};
}
// Базовый компонент
function Hello({ name }) {
return <h1>Hello, {name}!</h1>;
}
// Оборачиваем в HOC
const HelloWithLogger = withLogger(Hello);
// Использование
export default function App() {
return <HelloWithLogger name="Tomas" />;
}
```
🔍 Что здесь происходит:
1. `withLogger` — это HOC, который принимает компонент `WrappedComponent`.
2. Он возвращает новый компонент `WithLogger`, который:
- Логирует входящие props;
- Рендерит исходный компонент, передавая ему те же `props`.
3. В итоге `HelloWithLogger` ведёт себя как `Hello`, но с дополнительной функциональностью (логированием).
🚀 **_Источник: DeepSeek_** 🚀 **_Источник: DeepSeek_**