main(master) 소비자가 접하는 버전 안정적인 기능(최종 수정본) 개발, 테스트 완료 이 브랜치에서 커밋하지 않음 develop 실제로 개발이 일어나는 브랜치(개발 시 pull 받아야 하는 브랜치) 이 브랜치로부터 feature 브랜치 생성 개발이 진행 중이라 여러 버그가 존재 release dev로 부터 파생 배포 브랜치 테스트를 통해 버그 수정만 하는 브랜치(기능 개발 X) 수정 후 dev와 main에 머지시키기 dev 머지 누락 시 수정 사항이 누락됨 feature dev로 부터 파생 하나의 기능을 개발하는 브랜치 데브에서 팀원 모두가 개발 시 충돌이 일어날 수 있어 사용하는 독립적인 브랜치 hotfixes main으로부터 파생된 브랜치 버그 수정 기능 추가가 급한 경우 수정 후 dev와 m..
기본 타입 정의 문자열 let str: string = 'hello'; 숫자 let num: number = 10; Boolean let isLoggedIn: boolean: false; Array const arr: Array = [] const arr2: [] = [] // 숫자만 가지는 배열 const items: Array = [1, 2, 3]; const items2: number[] = [1, 2, 3] // 문자열만 가지는 배열 const heroes: Array = ['captain', 'thor', 'hulk']; const heroes2: string[] = ['captain', 'thor', 'hulk']; Tuple 배열과 비슷하지만 값을 변경할 수 없는 길이가 정해진 자료형 정의되..
atom, selector로 상태를 정의하고 useRecoilState 등으로 불러와서 사용 상태 정의 atom 기본적인 상태 단위 key: 상태를 구분할 특수한 값 default: 초기값 const fontSizeState = atom ({ key: 'fontSizeState', default: 초기값 }) ... const [fontSize, setFontSize] = useRecoilState(fontSizeState); effects: 부수 효과. localStorage 저장이 필요한 경우 사용 setSelf: 로컬 키를 불러와서 상태로 저장하는 함수 onSet: 상태 변경 시 실행될 함수 newValue: 새 상태 oldValue: 기존 상태 isReset: 초기화 여부(set함수로 defaul..
React-query API 호출을 통해 서버 데이터를 가져오고 캐싱 값 업데이트(자동) 에러 핸들링 read → useQuery create/update/delete → useMutation import { QueryClient, QueryClientProvider } from 'react-query' ... const queryClient = new QueryClient() return ( ) QueryClient : query, mutation 관리, 캐싱, 데이터를 효율적으로 가져오고 업데이트하는데 사용 ReactQueryDevTools : 개발할 때만 사용(=콘솔) useQuery 첫 번째 인자 문자열 혹은 배열, 두 번째 인자 api 호출 함수, 세 번째 인자 옵션 객체 useQuery('un..

