diff --git a/src/App.jsx b/src/App.jsx
index 6bf3ac6..efae7d7 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,10 +1,82 @@
-// удаляем все, оставляя лишь пустую функцию App ниже
+import memo, { useMemo, useCallback, useState } from 'react'
+
+function MyComponent() {
+ const [count, setCount] = useState(0);
+ const [name, setName] = useState('John');
+
+ const greeting = useMemo(() => `Hello, ${name}!`,[name]);
+
+ return (
+ <>
+
{greeting}
+
+ >
+ )
+}
+
+function MyComponent2() {
+ const [data,setData] = useState([{theme:'light'}])
+ const userPreferences = useMemo(()=>({theme: 'dark', language: 'en'}),[]);
+
+ const processData = useMemo(()=>{
+ return data.map(item => ({ ...item,theme: userPreferences.theme }))
+ },[data, userPreferences]);
+ console.log(processData);
+ return (
+ <>
+ 2
+
+ >
+ )
+}
+
+function MyComponent3() {
+ const sum = useMemo(()=> a+b,[a,b]);//Бессмысленное применение и вредное
+
+ //Применение оправдано
+ const complexResult = useMemo(()=>{
+ return heavyMethOperations(largeDataSet);
+ },[largeDataSet])
+}
+
+function ParentComponent({ items }) {
+ const [filter, setFilter] = useState('');
+
+ const listProps = useMemo(()=>({
+ items: items.filter(item => item.name.includes(filter)),
+ onItemClick: id => console.log('Clicked',id),
+ theme: 'dark'
+ }),[items,filter]);
+
+ return (
+ <>
+
+
+ >
+ )
+}
+
+function Memoized(props) {
+ console.log(props);
+ return (
+ <>
+ Memoized
+ {props.items.map((item) => (
+ <>
+
+ {item.name}
+
+ >))}
+ >
+ )
+}
function App() {
return (
<>
{/* Добавьте тестовый контент для проверки */}
Hello, React!
+
>
)
}
diff --git a/src/main.jsx b/src/main.jsx
index 950e96a..7e925e8 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -4,7 +4,5 @@ import { createRoot } from 'react-dom/client'
import App from './App.jsx'
createRoot(document.getElementById('root')).render(
-
-
)