프로젝트 깃허브 주소

링크텍스트

오늘 내가 한 일

  • 상세페이지 리덕스작성 후 스테이트 관리
  • 오류 해결(화면 렌더전에 데이터가 안들어옴)
  • 헤더,푸터 머지

Keep

  • 모르는 부분을 고민해보고 멘토님과 튜터님께 자문을 구해봤다.
    (그 결과 두가지의 해결법을 알아냄)
  • 코드를 참고해 쓰면서 왜 이게 이렇게 로직이 구현되는지 생각해보고 내 상황에 맞게 바꿔서 사용했다.

Problem

  • 화면이 렌더되기 전에 특정 데이터가 들어오지 않아 에러메세지가 뜬다.

Try

  1. 데이터가 들어올때까지 기다려주도록 비동기 처리를 한다.
  2. 리덕스 스테이트 초기값에 ""을 줘서 Undefine여서 뜨는걸 방지해준다.
  3. ES6 문법 사용 : optional Chaining (?.)

Try를 통해 알게된 내용

  1. 리덕스에서 데이터 불러오기

  • 일단 스토어에 해당 모듈 묶어주기

  • import * as productActions from "../redux/modules/product"
  1. 데이터가 들어오기 전에 화면을 읽고 넘어가서 생기는 오류 해결을 어떻게 하지??

    # 초기값을 ""로 생성해주기
    • 초기값을 “”로 설정해주기

    • 이건 내가 초기 딕셔너리를 직접 생성해야하는 번거로움이 있다.(그것도 백에서 넘겨주는 데이터 네임 그대로…!)

      # 옵셔널 체이닝(?.) 사용
    • 옵셔널 체이닝(자바스크립트es6 문법) : something?.특정값
      조건 삼항 연산자의 축약이라고 보면 된다.

      something 있으면 특정값을 불러오라는 뜻이 된다.
    • (ex in my project)
      const products = useSelector((store) => store.product.detail?.title)
  2. split 함수 사용하기
  • string을 원하는대로 잘라 array로 만들어주는 함수
  • 데이터에서 일정한 단어만 추출할때 유용하게 사용된다.
const str = "모두 잘 지내나요?"
 // 띄어쓰기 기준으로 문자열을 자른다.
const arr = str.split(" ")
----------------------------->
arr = ["모두 ", "잘 ","지내나요?"]

오늘 하루를 정리하며...

오늘 기분이 안좋은 일이 있었다.
내가 화면을 렌더하면서 생긴 오류들을 일단 내가 대충 문제상황을 짐작하고 멘토님께 여쭤봐서 일단은 해결방안을 알고있었다.(시도해보진 않은 상태)
내가 생각한 오류의 원인과 멘토님이 생각하신 오류의 원인이 일치해서 기쁜 마음으로 일단 조에 돌아왔는데 다른 분이 코드를 보자며 이것저것 고치라고 하셨다..
내 프로젝트이고 내가 알아서 잘할텐데, 심지어 내가 오류코드를 해결해달라고 말씀드린것도 아니었다.
그 과정에서 일단 커밋해두지 않은 내 코드들이 이미 달라져 있었고(이건 내가 다시 돌릴 수 있으니 그나마 상관없었다.),지금 내코드를 푸쉬해달라고 하셔서 거절했는데도 불구하고 계속 말씀하셔서 어쩔수 없이 푸쉬 해드리는 과정에서 페이지의 코드가 누락되었다..
분명 거절의사를 확실히 밝혔고 내가 해결해보고 안될때 논의해도 되는 부분을 왜 자꾸 건들이려 하는지 모르겠다.
그리고 무엇보다 내가 생각해서 구현한 로직이고 누구보다 코드를 잘 이해하고있어 오류가 어느 부분인지 짐작을 하고있는데, 그게 아니라는 듯 말씀하시는 태도가 가장 불편했다. 그렇다고 정중히 코드를 고쳐봐도 되는지 부탁한것도 아니고 다짜고짜 코드 보자 하더니 이렇게 고쳐보세요는 예의가 아니라고 생각한다.
이 일 이후 코드가 누락돼 기분이 안좋아져서 있으니 자기 잘못은 없는듯 사과 없이 원래 그렇게 사용하는거라며 말씀하시는게 정말 화가 치밀었지만, 우선은 같이 해나가야 할 과제가 있기때문에 넘어갔다.
협업에 하는데 있어 오늘 같은 일들이 물론 경험이 되겠지만, 내가 같은 상황이라면 기다려줘야 겠다고 생각했다.
나는 오류를 해결할 시간을 충분히 줘야 조원의 충고가 피가되고 살이 되는 것 이라고 생각한다.
또한 내가 성장해올 때 가장 많은 부분을 차지한건 오류를 해결하는 과정에서 꼭두각시처럼 남의 지시를 따르는게 아닌, 내가 직접 구현한 로직에 문제가 없는지 확인하고 오류를 내는 부분이 어느부분이고 어떻게 고쳐야 할지 생각하고 해결해 나가는 부분이었다.
팀원들과의 상의는 충분히 생각 해 본 이후에 논의해도 충분하다.
내가 같은 상황이 된다면, 오류가에 대해 충분히 생각해볼때까지 기다려줘야겠다.

profile
매일 조금씩 성장하는 개발자!

0개의 댓글