팀 프로젝트 관련
부모 jsx에서 자식 jsx로 값을 줄 때는 props를 사용 가능하지만 js로는 못준다. 그래서 전역으로 값을 옮겨서 export를 붙이고 자식이나 자손js에서는 그 값을 import로 가져 올 수 있다. 이 때 내용의 값을 복제해서 쓴다고 생각해야한다고 했다. 즉, 복제해서 쓴 값을 수정한다고 기존값이 변하지는 않는다.
더미데이터를 들고 온 뒤 map을 이용해 date 값만 걸러내는 배열을 만든다. 이 때 date의 값들 또한 모두 배열이다(1개만 있어도 동일, 없다면 빈 배열)
date 값들을 하나의 배열로 만들어야 한다. 배열 합치는 방법에는 push와 concat이 있는데, push를 쓰기에는 한 인덱스 안에서 date 값들이 배열로 되어 있어서 인덱스 개별로 넣어야 하는 push는 적합하지 않다.
그래서 concat을 쓰는데 …(스프레드연산자)를 써서 원소들을 쪼개서 넣어주어야 한다. 만약 빼고 작업한다면 쪼개지지 않은 배열 자체가 들어가게 된다.
예를 들어 [1],[2,3],[a,b,c]를 concat을 통해 넣으면 적힌 내용 그대로 들어간 [[1],[2,3],[a,b,c]]형태로 만들어지고 …을 넣어서 하면 [1,2,3,a,b,c]형태로 만들어 진다
그다음 과정이 약간 문제가 생겨버렸다. 개인페이지/모임페이지 달력값은 구별이 되는데 친구의 캘린더를 볼 때가 문제이다.
이를 모달로 띄울 예정인거 같아서 이 값을 어떻게 조절할 것인지 문제이다.
현재 구별하는 방법은 window.location.pathname(/부분)으로 구별하게 했는데 친구의 캘린더도 모달이면 다른 방법을 써야 할듯하다.
js로 값을 전달해줘야 하는데 위와 같이 전역에 값을 지정해서 주거나 해야 하는데 어떤 방식으로 줘야 할지 의문이다.
해결은 된 부분이지만 적어두는 부분:customdatecelwrapper부분(react-big-calendar의 components)
캘린더 컴포넌트의 일부이다 보니 props로 받아오는 값이 월의 일 수 만큼 들고와지기 때문에 28~31개의 배열이 들고와진다. 거기에서 날짜 배열이 n개 있다면 그 갯수만큼 배열안에 배열이 만들어진다.
(예:(15일,18일)이 있다면 [[15일만 true인 7*5~7*6배열],[18일만true인 배열]] 같이 배열 안에 배열이 있게 됨)
문제는 이제 이 값들을 하나씩 적용하게 되면 기존값 때문에 뒤에 값이 적용 안되던 문제가 있었다. 그래서 그 부분을 해결하기 위해 reduce로 배열안의 배열들을 하나로 합치는 방식을 썼다.
||(or연산자)를 써서 true가 하나라도 있으면 true가 되도록 했다. 그러면 15일과 18일이 true인 하나의 배열이 되고 그 값에 따라 classname값이나 표시를 다르게 해서 나타냈다