-
Notifications
You must be signed in to change notification settings - Fork 0
Fe/bugfix/#428 게스트가 들어오기전에 프로필을 설정하면 상대방에게 적용 안됨 #508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fe/bugfix/#428 게스트가 들어오기전에 프로필을 설정하면 상대방에게 적용 안됨 #508
The head ref may contain hidden characters: "FE/bugfix/#428-\uAC8C\uC2A4\uD2B8\uAC00-\uB4E4\uC5B4\uC624\uAE30\uC804\uC5D0-\uD504\uB85C\uD544\uC744-\uC124\uC815\uD558\uBA74-\uC0C1\uB300\uBC29\uC5D0\uAC8C-\uC801\uC6A9-\uC548\uB428"
Conversation
d8b5b2a
to
a9ae7b8
Compare
- ChattingPage -> SettingPage
- zustand의 상태는 리액트 컴포넌트 안에서만 유효함 - 만약 컴포넌트 밖에서 사용하려면 store.getState() 로 최신 상태를 가져올 수 있음
- 이벤트 등록하는 부분, 핸들러 부분을 따로 테스트코드 작성함
- 테스트 전에 전역상태 수정하고서 테스트해봄
a9ae7b8
to
214e37e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 scenario
활용하니까 진짜 깔끔하다!! e2e 테스트 다 작성하고 시나리오로 리팩토링 할 수 있으면 해볼게!!
💬 빌드 실패 떴는데 여기서 오류 난 건가?!
변경 사항
고민과 해결 과정
문제의 원인
자바스크립트의
클로저
에 대해 제대로 이해하지 못해서 생긴 문제였음전에는 아래와 같이 이벤트 리스너에 핸들러를 등록 해 주었음.
이 때 핸들러는 현재
실행 컨텍스트
를 기억하고 있음.그래서 브라우저가 이 이벤트가 발생되고, 핸들러를 실행시키면 등록될 당시의 환경에서 실행이됨
그런데 원래 원했던건 그 당시 값이 아니라 최신값이었음
그래서 zustand의 store.getState()로 최신 값을 받아와줘서 해결함
이러면 이벤트 핸들러가 등록될 당시 환경이 아니라 저 모듈의 현재 상태를 받아올 수있음
(선택) 테스트 결과
ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브 데모가 가능하도록 샘플API를 첨부할 수도 있습니다.