리액트로 채팅 모듈 하나 만들어서 배포 했는데 확인하고 코드 개선점이나 기능추가 같은거 지적 해줄 사람 구함.
현재 기능은 간단하게 소켓 io 기반으로 익명 n:n 오픈채팅임 서로 대화 참여랑 퇴장하는거 + 각자 메시지 전송 + 사진 전송 정도 기능있음. 아래에 npm, 깃허브, 데모버전 링크 다 있으니 확인하고 피드백주면 고맙겠음. 깃허브 스타도 해주면 ㄱㅅㄱㅅ.
프갤에는 이번이 2번때인데 저번에 리뷰 받은 내용들 다 적용 했음 1. 고차컴포넌트 2. 채팅시간 표시 3. 사진전송기능 많은 피드백 미리 ㄱㅅㄱㅅ
Npm 링크
https://www.npmjs.com/package/react-tomato-talk
깃허브 Repo
https://github.com/yoonjonglyu/react-tomato-talk
데모 링크
https://yoonjonglyu.github.io/webChat/
ㄷㄷ 씹갓 - dc App
피드백좀 해주라
프갤에 올리니 리뷰해줄수가 없네 ㅋㅋㅋㅋ
심심하니 한번 봐주자면 ChatRoom.jsx만 파일이름이 대문자인 이유가 뭐임?
오 오타 지적 ㄱㅅㄱㅅ
외부에서 src/talk의 import from 하는게 chatWindow.jsx 밖에 없다면 src/talk/index.jsx 하나추가해서 외부에서는 import ... from "./talk" 하는것도 괜찮아 보임
socket을 props로 받는거 같던데 prop drilling 되는거 같은데 Context API 활용해보는것도 괜찮을듯
묵시적으로 import하는거랑 프롭 드릴링 ㅇㅋㅇㅋ props는 사실 거진다 쓰는거라 드릴링까진 아니여도 추가적인 상태 컨텍스트 추가할때 바꿔볼게
webChat.jsx에서 useEffect와 useState, socket을 각각 해주는데 이걸 커스텀 훅으로 빼줘도 괜찮을듯 싶다. 다만 contextAPI와 같이 적용하려면 좀더 잘 생각해보면 될듯
깃헙에서 리뷰해줄때는 해당 라인에 내 제안으로 코드까지 덧붙이는데 프갤이다 보니 해줄수가 없네 아쉽당 ㅋㅋ
커스텀훅으로 상태들 빼는 것도 컨텍스트 하면서 적용하면 될듯 원래 목적이 해당 모듈 레이아웃 제외한 모든 스타일까지 사용자 커스텀이 되게 하는 방향인데 좀 더 고민해볼게 피드백 고마워