diff --git a/src/App.jsx b/src/App.jsx
index 6bf3ac6..90773fc 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,11 +1,60 @@
-// удаляем все, оставляя лишь пустую функцию App ниже
+import { memo, useState, useMemo } from 'react'
+
+function memoize(fn) {
+ const cache = new Map();
+ return function(...args) {
+ const key = JSON.stringify(args);
+ if (cache.has(key)) {
+ return cache.get(key);
+ }
+ const result = fn.apply(this, args);
+ cache.set(key,result);
+ return result;
+ }
+}
+
+function fibonachi(n, memo={}) {
+ if (n in memo) {console.log(n);return memo[n];}
+ if (n <= 1) return 1;
+ memo[n] = fibonachi(n-1, memo) + fibonachi(n - 2, memo);
+ return memo[n];
+}
+
+const MyComponent = ({ value }) => {
+ console.log('Rendring');
+ return
{value}
+}
+
+const MemoizedComponent = memo(MyComponent);
+
+const Child = memo(({ children }) => {
+ console.log('Child component rendred');
+ return {children}
;
+});
+
+const Parent = () => {
+ const [count,setCount] = useState(0);
+ const [text, setText] = useState('');
+
+ const stableChild = useMemo(() => Memo text,[]);
+
+ return (
+ <>
+
+ {stableChild}
+
+ setText(e.target.value)} value={text} />
+
+ >
+ )
+}
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(
-
-
)