|
@@ -1,6 +1,31 @@
|
|
-import Counter from './Counter';
|
|
|
|
|
|
+import { useCallback, useContext, useId, useReducer, useRef, useTransition } from "react";
|
|
|
|
+import { useMemo } from "react";
|
|
|
|
+import { useEffect } from "react";
|
|
|
|
+import { useState } from "react";
|
|
|
|
+import Show from "./Show";
|
|
|
|
+import reducer from "./reducer";
|
|
|
|
|
|
-const App = () => <Counter/>
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
+const App = () => {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ const [user, dispatch] = useReducer(reducer, {name: 'Ivan', age: 25});
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return (
|
|
|
|
+ <>
|
|
|
|
+ <Show/>
|
|
|
|
+ <button onClick={() => dispatch({type:'togge', payload:'nans'})}> OK </button>
|
|
|
|
+ <button onClick={() => dispatch({type:'change', payload: 'ffffff'})}> Show </button>
|
|
|
|
+ <p>User {user.name} and age {user.age}</p>
|
|
|
|
+ <input onChange={(e) => dispatch({type:'change', payload: e.target.value})} type="text"/>
|
|
|
|
+ </>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+}
|
|
export default App;
|
|
export default App;
|
|
|
|
|