Expected an assignment or function call and instead saw an expression no-unused-expressions
React compile 중 위와 같은 에러가 발생했을 때, JavaScript 작성에 다음과 같은 실수가 없는 지 확인하면 문제를 해결할 수도 있다.
const Button = () => (
<button>Hello world</button>
)
화살표 함수 - JavaScript | MDN에 따르면 화살표 함수의 경우 괄호()로 감싸진 부분이 return 된다(return문을 작성하지 않아도 return 됨).
반면에 중괄호{}로 감싸진 다음과 같은 함수는 return문이 없다면 return 값을 반환하지 않는다.
const Button = () => {
<button>Hello world</button>
}
console.log(Button); // undefined
따라서 중괄호{}를 사용하여 return 값을 반환하고자 하는 함수를 만드려면 다음과 같이 return 문을 사용하여 코드를 작성해야한다.
const Button = () => {
return <button>Hello world</button>
}
출처: expected assignment or function call: no-unused-expressions ReactJS - Stack Overflow
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
// 다음과 동일함: => { return expression; }
// 매개변수가 하나뿐인 경우 괄호는 선택사항:
(singleParam) => { statements }
singleParam => { statements }
// 매개변수가 없는 함수는 괄호가 필요:
() => { statements }
// 객체 리터럴 표현을 반환하기 위해서는 함수 본문(body)을 괄호 속에 넣음:
params => ({foo: bar})
// 나머지 매개변수 및 기본 매개변수를 지원함
(param1, param2, ...rest) => { statements }
(param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
// 매개변수 목록 내 비구조화도 지원됨
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); // 6
오 제가 찾던 내용이에요! 감사합니다!! 😀