작성
·
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
안녕하세요 민석 님!
두 가지 다 사용하실 수 있습니다!
1. this.todoData.map((data) => ())
2. this.todoData.map((data) => {return })
이 두 가지 방법이 있는데
첫 번째 방법은 로직을 사용하지 않고 바로 렌더링 할 부분이 들어갈 때 사용을 하며
두 번째 방법은 렌더링 할 부분은 return 뒤에 넣어주고 그 앞에 어떠한 변수를 선언하거나 조건을 처리할 수도 있습니다. 그 대신 렌더링 할 부분은 꼭 return 이후에 넣어주셔야 합니다
이해가 안 되는 부분 있으면 또 질문 주세요 감사합니다!
1번 문법의 경우 원래 자바스크립트에서도 유효한 문법인가요? 여태 js에서 화살표 함수를 쓸 때 마다 실행문 블록에 {}를 쓰거나 단일 코드일 경우 return과 함께 {}를 생략해서 썼는데 ()를 쓴 경험은 없어서요!