react에서 alias가 상대경로로 지정 될 경우
·
Frontend/React
분명 tsconfig.paths.json에 alias를 설정했는데경로가 상대경로로 잡힌다. "typescript.preferences.importModuleSpecifier": "relative",vscode setting.json에 저 값이 relative로 되어있어서 그랬다. "typescript.preferences.importModuleSpecifier": "non-relative",non-relative로 바꿔준다. settings에서 바꿔줘도 된다.
리액트 context 사용하는 방법
·
Frontend/React
✏️ context context는 전역적으로 데이터를 관리할 수 있게 도와 줄 수 있는 리액트 Hook 부모 -> 자식 -> 손자 이런 구조로 되어있고, 부모에서 손자까지 데이터를 공유하고 싶은면 항상 차례대로 데이터를 전달해 줘야했는데 context를 사용하면 바로 부모 -> 손자로 넘겨줄 수 있다. 🔥 주의점 다양한 레벨에 네스팅된 많은 컴포넌트들에게 데이터를 전달하는 용도 context를 사용하면 컴포넌트를 재사용하기 어려워진다. context 또는 컴포넌트 합성 둘 중에 더 상황에 맞는 것을 이용하도록! 나는 작업할 때 context 폴더를 만들어서 context를 관리하는 편! 응집도는 높이고, 결합도는 낮추기 위해 context 관련 소스는 해당 폴더, 해당 파일 안에서 관리하는 것이 좋은 ..
구글 앱 비밀번호 생성하는 방법
·
Frontend
구글 앱 비밀번호 생성하는 방법 구글 계정관리 보안 -> 2단계 인증 앱 비밀번호 젤 밑으로 스크롤 내리면 앱비밀번호라고 있다. App name에 아무 이름이나 작성해준다. (그냥 구분용) 만들기 클릭하면 앱 비밀번호가 나온다 바로 ctrl + c 해서 메모장에 작성해놓자!! 확인 누르면 다신 볼 수 없는 것 같다. 중간에 띄어쓰기가 들어가 있는데 .env 파일에 작성할 때는 띄어쓰기는 모두 붙이면 된다. 끝이다!
nvm 명령어
·
Frontend
nvm 사용법 nvm ls-remote - node 버전들 다 모아놓은 목록 nvm ls 설치된 node.js 목록 확인 nvm install 버전이름 nvm install 10.16.3 nvm install 10 => 10.X 전부 nvm install --lts => lts 최신버전 nvm use 버전이름 nvm current - 현재 사용중인 버전 확인 nvm uninstall 버전명 - 필요없는 node 버전 삭제 nvm alias default node - 설치되어 있는 가장 최신버전의 node를 디폴트로 사용 nvm alias default 10.16.3 which node - node.js 설치 경로 확인 nvm -v nvm version nvm list available - 사용가능한 no..
FormData 사용하기
·
Frontend/JavaScript & Jquery
Form Submit하는건 프론트엔드 하면서 많이 하는 일 중에 하나일 것이다. 일단 Form Submit하는 방식은 여러가지가 있는데 내가 아는 것만 적자면... 1. form태그 안에 submit 버튼을 이용한 방식 2. 스크립트를 이용한 form.submit() 3. 비동기 통신을 이용한 submit 방식 그 외 등등 다양한 방식으로 form submit을 할 수 있다. 내가 짜는 코드에 맞게 적절한 방식으로 사용하면된다. 1번과 2번 케이스 경우에는 알아서 name과 value값을 백단으로 넘겨주지만 비동기 통신을 이용했을 때는 내가 직접 데이터를 말아서(?) 보내줘야한다. 어떻게 데이터를 말아서 보내야할까? 그것도 다양한 방식이 있지만 오늘은 FormData를 이용해서 데이터를 말아보겠다. Fo..
이벤트 버블링과 캡쳐링 이해하기
·
Frontend/JavaScript & Jquery
NextAuth 사용해서 Github 로그인 구현하기
·
Frontend/Next.js
NextAuth를 이용해서 Github 로그인을 간단하게 구현할 수 있다. 1. next-auth를 설치한다 yarn add next-auth 2. github에 OAuth 셋팅하기 github 로그인을 이용하기 위해서는 github에 가서 약간의 설정을 해줘야한다. New OAuth App를 클릭해서 권한을 만들어준다. 표시한 부분을 입력해준다. Client ID와 그 아래 Secret key가 필요하다. 3. NextAuth.js 공식문서 참고해서 적용하기 그리고 나서 NextAuth.js 공식 문서에 있는거 그대로 따라해주면 된다. Getting Started | NextAuth.js The example code below describes how to add authentication to a ..
Route Groups에 대해서
·
Frontend/Next.js
📌 공식문서 Routing: Route Groups | Next.js Route Groups can be used to partition your Next.js application into different sections. nextjs.org 📌 이게 뭔가? 일단 나는 nested 되는 레이아웃을 가지고 싶지 않았다. 그리고 1depth 페이지에서는 모두 같은 레이아웃을 가지고 있었다. 이걸 어떻게 적용해야할까 고민하다가 드디어 찾았다. 1. Root Layout 설정 일단 내가 지금 혼자 공부하고 있는 프로젝트에서 공통인 부분은 이미지에 표시한 헤더와 푸터이다. 저 부분이 RootLayout이다. 2. 각 메뉴 Sub Layout (?) 설정방법은? 하지만 나의 문제는 각 메뉴(기관소개의 이용안내..
Next.js에서 async와 'use client'를 같이 사용할 때
·
Frontend/Next.js
Next.js 프로젝트를 하고 있는 중에 async키워드와 'use client' 를 같이 쓰니 에러가 났다. 서버 사이드 렌더링과 클라이언트 사이드 렌더링 때문에 생긴 오류라고 생각이 된다. 그래서 찾아보았다!! 언제 서버 컴포넌트, 클라이언트 컴포넌트를 쓰는 것 일까? 공식문서에 따르면 Fetch data는 서버 컴포넌트 내가 해당 컴포넌트에서 쓰려고 했던 Event Listeners와 Lifecycle Effects은 클라이언트 컴포넌트라고 해서 생긴 오류였다. 해결방법 일단 내가 해결한 방법은 상위 컴포넌트에서 Fetch Data를 해서 하위 컴포넌트에 props로 넘겨줬다. 근데 찾아보니까 children을 이용한 방법이 있었다. 한번 적용해봐야겠다. Configuring: TypeScript ..