diff --git a/quartz-cli/src/index.tsx b/quartz-cli/src/index.tsx
index c73e847c8..5748eb97e 100644
--- a/quartz-cli/src/index.tsx
+++ b/quartz-cli/src/index.tsx
@@ -1,10 +1,10 @@
import ReactDOM from 'react-dom';
-import List from './state/List';
+import UserSearch from './state/UserSearch'
const App = () => {
return (
-
+
);
};
diff --git a/quartz-cli/src/state/List.tsx b/quartz-cli/src/state/List.tsx
index 9f36482aa..61c64d7d2 100644
--- a/quartz-cli/src/state/List.tsx
+++ b/quartz-cli/src/state/List.tsx
@@ -2,13 +2,22 @@ import { useState } from 'react';
const List: React.FC = () => {
const [name, setName] = useState('');
+ const [users, setUsers] = useState([]);
+
+ const onClick = () => {
+ setName('');
+ setUsers([...users, name]); // Take current users array and add current name to the end
+
+ }
return (
List
-
+
+ {users.map(user => - {user}
)}
+
setName(e.target.value)} />
-
+
);
};
diff --git a/quartz-cli/src/state/UserSearch.tsx b/quartz-cli/src/state/UserSearch.tsx
new file mode 100644
index 000000000..e6cd56332
--- /dev/null
+++ b/quartz-cli/src/state/UserSearch.tsx
@@ -0,0 +1,32 @@
+import { useState } from 'react';
+
+const users = [
+ { name: 'Hello', age: 20 },
+ { name: 'There', age: 20 },
+ { name: 'World', age: 20 },
+];
+
+const UserSearch: React.FC = () => {
+ const [name, setName] = useState('');
+ const [user, setUser] = useState<{ name: string, age: number } | undefined>(); // Two types of values/results from a search
+
+ const onClick = () => {
+ const foundUser = users.find((user) => {
+ return user.name === name; // Connect the result of the search to the `foundUser` variable
+ });
+
+ setUser(foundUser);
+ };
+
+ return
+ User Search
+
setName(e.target.value)} />
+
+
+ {user && user.name}
+ {user && user.age}
+
+
;
+}
+
+export default UserSearch;
\ No newline at end of file