모달 만들기
workspace.tsx
팝업, 사용자 초대기능 추가
fetch한 자신의 데이터 안에 workspace에 대한 정보도 저장 해 두어, 하나로 처리한다.
import의 as, 비구조화 할당의 : 기호를 사용해 변수 이름을 사용자 지정할 수 있다.
백앤드 개발자가 전송하는 데이터에 대한 타이핑 역시 해준다.
브라우저의 dev툴에 리렌더링 시 하이라이트 여부에 대한 체크박스가 있다. 나중에 최적화할 때 참고할 자료가 된다.
워크스페이스 추가 모달; 해당 코드는 workspace 컴포넌트 안에 있다.
show props에 대항하는 isOpen state를 둔다. 데이터를 다루는 사람이 백앤드이기 때문에 데이터에 대한 권한 자체는 백앤드가 더 크다.
모달은 전체 팝업 창처럼 가운데 뜨는 페이지를 의미한다.
console.trace
이벤트 버블링이 발생했을 때 가장 상위의 onClick리스너에 stopPropogation()설정을 해주어야 한다.
input이 들어가면 컴포넌트를 분리하는 것이 좋다. input이 변할 때 전체 컴포넌트가 리렌더링이 되므로.
인풋값 validate 검사는 if(!inputData || !inputData.trim()) 코드로 공백 문자가 들어간 것도 걸러주어야 한다.
인풋값을 담아 post요청을 보낸 다음, input state는 반드시 초기화를 해주어야 한다.
에러 메시지를 아래에서 튀어나와서 처리하도록 하는 토스트
import toast from 'react-toastify'
채널 만드는 모달
모달 관리할 때 isOpen 토글하는 버튼 추가해준다.
children 필요 없는 FC의 타입은 VFC
invalid hook call. Hooks can only be called inside of the body of a FC;
훅은 반드시 return 문 앞에 사용한다. if, 반복 문안에 사용하면 안된다.
'Lecture > slack 클론 코딩' 카테고리의 다른 글
2021-07-08 :: 메뉴와 모달 만들기3 (0) | 2021.07.08 |
---|---|
2021-07-04 :: 메뉴와 모달 만들기1 (0) | 2021.07.04 |
2021-07-04 :: 로그인, 회원가입 만들기3 (0) | 2021.07.04 |
2021-06-28 :: 로그인, 회원가입 만들기2 (0) | 2021.06.28 |
2021-06-24 :: 로그인, 회원가입 만들기1 (0) | 2021.06.24 |