[TIL] 20.06.18

SubinΒ·2020λ…„ 6μ›” 18일
0

TIL 기둝

λͺ©λ‘ 보기
79/148

μš”κ΅¬μ‚¬ν•­ (ν•΄μ•Ό ν•  일)

  • 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

// μ˜ˆμ‹œ μ½”λ“œ (μΆ•μ†Œλœ ν˜•νƒœ, μŠ€νƒ€μΌ μƒλž΅)
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;
profile
μ •ν™•ν•˜κ²Œ μ•Œκ³ , μ œλŒ€λ‘œ μ‚¬μš©ν•˜μž

0개의 λŒ“κΈ€