06/09

Posted by:

|

On:

|

과제 -2시간

세션스토리지에 객체를 문자열로 넣는 이유

https://mhypro.tistory.com/63

https://sanghye.tistory.com/14

https://studyingych.tistory.com/28

캘린더 배열 관련 문제

  1. for 문을 이용해서 해당 월의 여러 약속이 있는 경우 어떻게 되는가 살펴보니 값이 각자 따로 들어가서 앞에만 적용이 되고 뒤에는 true여도 먼저 있는 false 때문에 true 값이 안나온 다는 것을 확인함
    둘 다 false가 아니라면 true가 되도록 배열을 합치는 방법을 모색해야함
    해결 : https://stonefree.tistory.com/223
    reduce()함수[https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce] : 배열의 값들을 하나로 합쳐준다
  2. 이벤트 함수 문제 : div에 onclick를 넣었지만 작동을 하지 않는다.
    완벽하지는 않을거 같은 해결 : 컴포넌트를 만든 JS 안에 function으로 이벤트를 만들어줌 – 왜 onclick={()=>{}}형태나 화살표함수로 들고오는 값들이 작동하지 않는지 이유 찾아야함
  3. 전후 버튼 클릭 시 1달 단위로 넘어가는 기능이 toolbar.js에 한정되어 있는데 그 기능을 밖으로 꺼내서 써야하며, 달력이 2개 있는 구간에는 2달 단위로 넘어가는 기능도 필요함. 거기에 달력이 2개 나오는 페이지의 경우 둘 다 넘어가야한다.
    반쯤 해결 : 일단 클릭 시 2달 단위로 전후로 가는것은 완성했는데 콘솔 창에서 에러가 나온다
    [A non-serializable value was detected in the state, in the path: `use`. Value: Fri Dec 09 2022 16:41:12 GMT+0900 (한국 표준시)
    Take a look at the reducer(s) handling this action type: use/prev2month.]
    그리고 초기에도 오류가 나온다
    [Warning: Failed prop type: You have provided a `date` prop to `Calendar` without an `onNavigate` handler prop. This will render a read-only field. If the field should be mutable use `defaultDate`. Otherwise, set `onNavigate`.]
    non-serializable 관련 : https://ymc-crow.github.io/basic/redux%EC%99%80-serializable/
    초기에는 props의 type이 안맞아서 문제인것 같고, 그다음도 비슷한 오류인듯 하다.