본문 바로가기

Tech/[Trouble Shooting] Logs

#0006 TypeError: Cannot convert undefined or null to object

Hi, There!
안녕하세요, 바오밥입니다.


목차

  1. 문제
  2. 솔루션
  3. Reference

문제

몽고DB에 저장된 댓글 데이터를 불러오려고 합니다.

그러나, Null 객체는 map 함수를 사용할 수 없기 때문에 react 컴포넌트 내에서 호출할 때 오류가 발생합니다.

 

아래는 오류가 발생한 실제 프로젝트 코드입니다.

Object.values 함수를 실행하기 위해서는 viewComment라는 state가 null 객체가 아닌 배열이어야 합니다.

React Comment.js 컴포넌트

Node JS에서 API를 설계할 때 mongoose의 findOne 내장 함수를 사용하였는데, findOne 내장 함수는 값이 비어있는 경우 Null 객체를 반환합니다.

Node.JS API


솔루션

findOne 내장 함수 대신 find 내장 함수를 사용하면 Null 객체 대신 빈 배열을 반환 받을 수 있습니다.

Node.JS API

이로 인해 Object.values 함수를 문제 없이 호출할 수 있게 되었습니다.

자연스레 React 컴포넌트 내의 문제도 사라졌습니다.


Reference

  • 삽질의 결과