• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

안녕하세요 선생님~~

22.07.15 16:09 작성 조회수 990

2

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

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

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

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

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

이런 경고창이 뜹니다

답변 1

답변을 작성해보세요.

2

안녕하세요 민석 님! 

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

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

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

이 두 가지 방법이 있는데 

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

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

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

귀여운 펭귄님의 프로필

귀여운 펭귄

2022.09.14

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