인프런 커뮤니티 질문&답변

성민석님의 프로필 이미지

작성한 질문수

따라하며 배우는 리액트 A-Z[19버전 반영]

Map 메소드를 사용한 할 일 목록 나열

안녕하세요 선생님~~

작성

·

1.1K

2

리액트에서 자바스크립트를 사용할때 {}을 사용해야하는건 이해가 가는데

this.todoData.map((data) => {

}) 가 아니라 중괄호 자리에 그냥 괄호가 들어가는 이유가있나요?

중괄호를 넣고 세이브를 하니

 Line 50:37:  Array.prototype.map() expects a return value from arrow function  array-callback-return

이런 경고창이 뜹니다

답변 1

2

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 민석 님! 

두 가지 다 사용하실 수 있습니다! 

1. this.todoData.map((data) => ()) 

2. this.todoData.map((data) => {return }) 

이 두 가지 방법이 있는데 

첫 번째 방법은 로직을 사용하지 않고 바로 렌더링 할 부분이 들어갈 때 사용을 하며 

두 번째 방법은 렌더링 할 부분은 return 뒤에 넣어주고 그 앞에 어떠한 변수를 선언하거나 조건을 처리할 수도 있습니다. 그 대신 렌더링 할 부분은 꼭 return 이후에 넣어주셔야 합니다 

이해가 안 되는 부분 있으면 또 질문 주세요 감사합니다!

1번 문법의 경우 원래 자바스크립트에서도 유효한 문법인가요? 여태 js에서 화살표 함수를 쓸 때 마다 실행문 블록에 {}를 쓰거나 단일 코드일 경우 return과 함께 {}를 생략해서 썼는데 ()를 쓴 경험은 없어서요!