TIL - ( 11일차 2022-06-09 )

jigom·2022년 6월 9일
0

TIL

목록 보기
12/13

오랜만에 올리는 TIL..

과제를 진행하면서 Redux Toolkit을 쓰면서 생겼던 오류다.

게시판 사이트를 만드는데 시간순으로 정렬하기 위해서 timestamp라는 key를 두고 value 값으로

new Date를 통해 게시물을 업로드 시 생성 시간을 설정해주려 하였다.

const upload_data = {
  			timestamp: new Date(),
		}

근데 다음과 같은 경고가 발생했다.

직렬화 할 수 없는 데이터를 넣을 수 없다는 이야기인데

Redux toolkit의 불변성 때문에 생기는 이유인 듯하다.

즉, new Date라는 것은 새로운 객체를 만들겠다는 거기 때문에, 데이터 불변성이 지켜지지 않는다는 것이다.

Firebase를 이용한 프로젝트여서 Firebase의 Timestamp를 사용하려고 했으나 방법을 찾을 수 없어서 직접 new Date로 전달하지 않고, parsing 해서 String 으로 변환하였다.

const getTimeStamp = () => {
  let currentTime = new Date();
  let setDate = currentTime.getFullYear() +"/" + ( currentTime.getMonth() + 1 ) +"/"
   ( currentTime.getDate() ) +" "+ ( currentTime.getHours() )+ ":" + ( currentTime.getMinutes() )
  + ":" + ( currentTime.getSeconds() );
  
  return setDate;
}

// getTimeStamp는 결국 String을 반환한다.

다른 방법이 있을껀데 좀 많은 아쉬움이 있다.

profile
일단 해보자

0개의 댓글