오늘한 일
- [항해 99] 실전프로젝트 상세 1 페이지 리스트 불러오기
- [항해 99] 실전프로젝트 필터 관련 내용 구글링 진행중..(이때까지 작업한거 보내줬다..)
내일 할 일
- 리액트 쿼리 1강 다 듣기
- [항해 99] 실전프로젝트 상세 1페이지 필터 구현 완료
오늘의 배운 점
상세2에서 산 정보 불러오기에서 오류
(팀원분의 작업물이긴 했는데 오류가 자꾸 난다고 해서 같이 고민했다.)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
const mountId = useParams(); const dispatch = useDispatch(); const id = mountId.id; const mountList = useSelector((state) => state.twoSlice.mountain?.data); //const mountList = useSelector((state) => state.twoSlice.mountain.data); //원래는 위의 주석 형태 -> 새로고침을 하면 위 상태에서도 mountainList를 console에 찍었을 때 undefined가 떴고, //useSelector 부분에서도 오류가 있는 것 같아 주석 위의 옵셔널 체이닝을 걸어주니 올바르게 돌아갔음 useEffect(() => { dispatch(__getMountain(id)); }, [dispatch, id]); return ( <> <StContainer> <div className="mountainName"> {mountList?.name} //여기도 추가로 옵셔널 체이닝을 걸어줘야 올바르게 돌아감 </div>
이전부터 사용할 때 배열에서 정보를 빼와서 사용할 때 undefined가 뜨는 경우에 위처럼 옵셔널 체이닝을 걸어주면 해결되는 경우가 많아 이번에도 동일하게 사용해보니 해결되었다.
찾아본 정보들로는 비동기처리와 비슷한 효과를 낸다고 하는데 사실 경험한 부분을 바탕으로만 말하자면 정보가 있는데도 undefined가 뜨는 경우, 해당 정보를 불러오기 위해 사용한다는 것 정도?
무분별한 옵셔널 체이닝은 성능저하가 온다고 해서 다른 방법을 계속 찾아보고 있는데 쉽지않다.
거의 3-4일동안 진행했던 필터 부분들이 어제 리셋되었다. 오늘도 추가 기능이라고 생각하고 생각한 부분도 리셋되었다. 조금 속상하지만 뭐.. 팀의 결정이니까 수용해야지..
어제부터 디자이너분과 트러블이 조금 있었는데 아마 소통의 부재로 일어난 상황같다. 오늘 리더분이 주도해서 이런 문제들을 조율해서 해결해주셨는데, 진짜 리더의 중요성을 크게 느꼈다. 나같은 감정적인 사람은 진짜 많이 고쳐야겠다는 생각을 백만번 했다.
그래도 뭔가 이때까지 나름대로 디자이너분 배려도 많이 해드렸다고 생각했고 필요한 부분에 대해서만 요청/질문 했다고 생각했는데 그 부분들에 대해서 생각이 많아졌다. 디자인적인 부분은 온전히 디자이너분한테 맡기는 게 맞는 건지.. 뭔가 디자인적인 요소에 대해서 의견내기가 어려워졌다.
그냥 받아들이고 짜주는대로만 하면 되는건지.. 아님 내 말투가 문제였나..?? 진짜 협업이라는게 제일 어려운 것 같다. 머리가 많이 복잡해군 ☹