AWS S3버킷 만들기파일 업로드(build파일 전부, static 폴더 추가)속성 -> 정적 웹 사이트 호스팅 편집 활성화 -> 인덱스 문서 index.html로 지정 권한 -> 퍼블릭 엑세스 차단 편집 -> 차단 해제 -> 버킷 정책 편집
UseMemo, UseCallback, Component communication, useRef, Hooks https://stackblitz.com/edit/react-ts-vypbqa?file=ComponentComm.tsx
컨텍스트 생성데이터 Set 하는 방법1.컨텍스트를 생성2.컨텍스트.프로바이더 사용3.value를 사용데이터 Get 하는 방법1 (Consumer)1.컨텍스트를 가져온다2.컨텍스트.컨슈머를 사용한다3.value를 사용한다.데이터 Get 하는 방법2 (Functional)
class Api + extends 사용 function newsDetail()에서 적용
댓글, 대댓글 구조대댓글 재귀구조읽음 상태 저장\-읽어온 전체 데이터를 feeds 배열에 read상태와 함께 저장\-feedDetail 페이지 방문 시 id와 비교 -> read= true로 변경하여 방문표시반영
1.라우터 기능 추가2.메인페이지, 상세페이지 주소 설정3.페이지네이션1.라우터2.메인페이지, 상세페이지3.페이지네이션
전체 구조1.Nav (scroll)animation<Nav variants={navVariants} animate={navAnimation} initial={"top"}>2.메뉴 선택시 빨간 동그라미3.검색 아이콘 클릭시 라우터
react-hook-form 적용 handleSubmit -첫번째 인자(필수): 데이터가 유효할 때 호출되는 함수 -두번째 인자(필수X): 데이터가 유효하지 않을 때 호출되는 함수 input 유효성 검사 - formState으로 에러메세지 출력 setError
object 사용부모요소 initial과 animate 자식요소에 그대로 적용됨staggerChildren으로 자식 요소 개별 등장 타이밍 조정 가능드래그 가능 범위 제한 = dragConstraints,useRefdragSnapToOrigindragElasticdr
useEffect(() => { (async () => { const infoData = await ( await fetch(https://api.coinpaprika.com/v1/coins/${coinId}) ).json(); const priceData = await ( await fe...
app.jssocket.emit("이름", "메세지(object)", callback함수)세번째 인자 함수를 서버가 backend에서 호출하지만 실행은 front-end에서 실행됨server.js
app.js a.href = #${newsFeed[i].id} window.addEventListener('hashchange')으로 const container = document.getElementById('root')선언 후 container.appendChild
1\. branch bugFix -> git checkout bugFix2\. Mergegit branch bugFix -> git checkout bugFix -> git commit -> git checkout main ->git commit -> git merge
큐를 사용한 BFS풀이 + 트리 노드예외처리) root가 nullptr로 들어오는 경우 {}반환
0100101010에서 겹치는 경우 제외한 010갯수 세는 방법