contentsData.length > 0 && 이 조건문은 사용한이유는?
리액트의 비동기적 특성 때문에 처음에는 state에 있는 값이 없는 채로 render 되고,
그 후 componentDidMount를 함수를 실행한다.(useEffect)
그럼 웹이 실행되고 처음 빈값을 map함수를 적용시키게 되버리니 바로 map에러가 발생한다.(undefined에 접근해서 map을 돌릴수없다)
그걸 막기위해 다음 조건문을 주어 componentDidMount를 함수를 실행한 후 map을 실행하도록 하였다.
&&
or
?.