본문 바로가기
반응형

전체 글572

state 업데이트는 비동기라기보다는 스냅샷이다. state 업데이트는 비동기라기보다는 스냅샷이다. 아래와 같이 코드를 작성하면 console.log(state)는 1이 아닌 0이 찍힌다. const Component = () => { const [state,setState] = useState(0) return ( { setState(1) console.log(state) // 0 }}> ) } setState가 비동기로 작동해서 console.log보다 나중에 실행되기 때문이라고 생각했는데, 그보다는 스냅샷이 맞는 표현이다. { setState(1) // 다음렌더링에서 state를 1로 바꿀 준비를 한다. console.log(state) // 0 }}> 리액트는 state 업데이트를 하기 전에 이벤트 핸들러의 모든 코드가 실행될 때까지 기다린다. .. 2024. 1. 7.
GitHub Actions에서 build시 사용할 환경 변수 넣기 자꾸 build에서 실패했다. 로그를 살펴보면 401 에러였는데 API키는 환경변수에 넣어놓았기 때문에 next 내부에서 일어나는 어떤 문제라고 생각하고 Error: 401 Unauthorized: {"data":[{"id":"5413bc","type":"api_error","attributes":{"code":"INVALID_AUTHORIZATION_HEADER","details":{}}}]} at s (/home/runner/work/blog/blog/.next/server/chunks/724.js:8:121) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Object.c [as generat.. 2023. 12. 28.
React test library에서 엘리먼트 추적할때 testid를 지양해야 하는 이유 React test library 공식문서 에 보면 testid를 지양하라고 한다. About Queries | Testing Library Overview testing-library.com 왜냐하면 테스트는 유저의 행동을 모방해야 하는데, testid와 유저는 상호작용하지 않기 때문이다. 그러니 testid는 최후의 수단이다. 2023. 12. 27.
Amplify에서 GitHub actions 로 배포 자동화 flow 만들기 Amplify에서 GitHub actions 로 배포 자동화 flow 만들기 예전에 회사에서 amplify로 호스팅된 페이지를 배포하는데 환경변수 이슈때문에 배포가 지연된 적이 있다. 환경변수 이슈와 별개로 이같은 상황이 재발하는 것을 방지하기 위해 GitHub actions로 prebuild하여 사전에 문제를 파악하도록 세팅한적이 있다. 근데 지금 공부를하다가 배포 자동화를 하는 방법을 알게 되었다. amplify 웹훅을 이용하여 release/* 브랜치가 열리고 모든 workflow를 통과하면 main에 merge하지 않아도 배포시키는 것인데 아주 쉽다. 별개로 main은 상용 환경이기 때문에 trigger를 브랜치 create말고 다른 것으로 바꾸는게 좋을 것 같다. 자동 빌드 비활성화 main 브.. 2023. 12. 25.
반응형