mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-19 10:54:06 -06:00
🔧😗 -> Ex. (static) array db integration with frontend
This commit is contained in:
parent
1123e0bc25
commit
618537bc30
@ -1,10 +1,10 @@
|
|||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import List from './state/List';
|
import UserSearch from './state/UserSearch'
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<List />
|
<UserSearch />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2,13 +2,22 @@ import { useState } from 'react';
|
|||||||
|
|
||||||
const List: React.FC = () => {
|
const List: React.FC = () => {
|
||||||
const [name, setName] = useState('');
|
const [name, setName] = useState('');
|
||||||
|
const [users, setUsers] = useState<string[]>([]);
|
||||||
|
|
||||||
|
const onClick = () => {
|
||||||
|
setName('');
|
||||||
|
setUsers([...users, name]); // Take current users array and add current name to the end
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h3>List</h3>
|
<h3>List</h3>
|
||||||
|
<ul>
|
||||||
|
{users.map(user => <li key={user}>{user}</li>)}
|
||||||
|
</ul>
|
||||||
<input value={name} onChange={(e) => setName(e.target.value)} />
|
<input value={name} onChange={(e) => setName(e.target.value)} />
|
||||||
<button>Add item</button>
|
<button onClick={onClick}>Add item</button>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
32
quartz-cli/src/state/UserSearch.tsx
Normal file
32
quartz-cli/src/state/UserSearch.tsx
Normal file
@ -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 <div>
|
||||||
|
User Search
|
||||||
|
<input value={name} onChange={e => setName(e.target.value)} />
|
||||||
|
<button onClick={onClick}>Find User</button>
|
||||||
|
<div>
|
||||||
|
{user && user.name}
|
||||||
|
{user && user.age}
|
||||||
|
</div>
|
||||||
|
</div>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default UserSearch;
|
||||||
Loading…
Reference in New Issue
Block a user