μꡬμ¬ν (ν΄μΌ ν μΌ)
- Table μμΉκ³ μ λ¬Έμ & λ°μν λ¬Έμ #1
- dropdown κ²μ κΈ°λ₯ #2
- graphQL mutationμ κ²½μ°μλ μμ§ μκ°μ΄ μλ€. #3
ν μΌ
- Table λμμΈκ³Ό css κΈ°λ₯ κ°μ (material-table νμ©)
- component λ³λ‘ css μ‘°μ
- μμ²μ λ°λ₯Έ ν
μ΄λΈ κ° λ³κ²½
- cardμμ tableλ‘ λ³νλ©΄μ μκΈ΄ css λ¬Έμ μ²λ¦¬
- userμ κΆνμ λ°λΌ table νν λ³κ²½
- dropdown κ²μ κΈ°λ₯ μΆκ° (μλ μμ)
- mutation μ¬μ©μ ν΅ν κΆν λΆμ¬ κΈ°λ₯ μΆκ°
- κΈ°μ‘΄μ rest api λ°©μμμ Apollo μμ μ€
- graphQL곡λΆ, playground μ°Έκ³
- κ°λ°μμ κΈμ°κΈ°
νκ³
- μκ°λ³΄λ€ μ§νμ΄ λΉ¨λμ
- μ΅λν λΌμ΄λΈλ¬λ¦¬μ λμμμ΄ μ½λλ₯Ό 지 μ μμ΄μ μ¦κ±°μ
- query, mutation μ μκ° μλ²μμ κΉλνκ² λμ΄ μμ§ μμ κ² κ°μ
- frontendμμ mutationμ μ μ©νλλ° μ§λ 'ν¬μ€νλ λ' κ³Όμ κ° λμμ΄ λ¨
- card ννμμ tableλ‘ κ³ μΉλ©΄μ λ―Έμ² μ²λ¦¬νμ§ λͺ»ν cssκ° μμλλ° κ²¨μ° μ°Ύμλ΄μ κΈ°μ¨
- μ£Όμ΄μ§ ν λΉλμ μΆ©λΆν μνν μ μμκ³ , λ΄μΌ νλ €κ³ νλ css μμ²λ¦¬? λ₯Ό λλ΄μ κΈ°μ¨
- λλ£μ μ μ¬μκ°μ νΈμλ₯Ό κ±°λλ©° μ΄μΌκΈ°λ₯Ό λλμλλ° μ¦κ±°μ΄ λνμμ (νλ‘λ€μμ΄ λ©μ‘μ)
additional
dropdown κ²μ κΈ°λ₯ μΆκ° μ
import React, { useState, useEffect } from 'react';
const DropDownSearch = ({data}) => {
const [searchUser, setSearchUser] = useState("");
const [userList, setUserList] = useState([]);
useEffect(() => {
const result = data.users.filter(user =>
user.username.includes(searchUser)
);
setUserList(result);
},[searchUser]);
const searchUserHandler = (e) => {
setSearchUser(e.target.value)
}
return (
<div className='dropdown'>
<div 'dropdown-content'>
<input
type="text"
placeholder="κ²μ.."
value={searchUser}
onChange={searchUserHandler}
/>
{userList.length !== 0 ? (
userList.map((e, i) => (
<p key={i} onClick={() => assignUser(taskData, e.id)}>
{e.username}
</p>
))
) : (
<p>κ²μ κ²°κ³Ό μμ</p>
)}
</div>
</div>
);
};
export default DropDownSearch;