🔧😗 -> Ex. (static) array db integration with frontend

This commit is contained in:
Gizmotronn 2022-02-18 10:05:34 +08:00
parent 1123e0bc25
commit 618537bc30
3 changed files with 45 additions and 4 deletions

View File

@ -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>
); );
}; };

View File

@ -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>
); );
}; };

View 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;