React.js의 ", of } expected." 라는 에러.
종종 보는 에러지만 쉽게 고쳐지는 경우가 많았다. 하지만 며칠간 나를 괴롭힌 이 에러는 쉽게 고쳐지지 않았다.
어디가 어떻게 잘못 됐다고 알려주면 다행이지만 저렇게 그냥 메세지만 던져주면 모든 소스 코드를 다 뜨어 봐야 한다.
원인은 다음과 같았다.
return문안에 태그와 여러 소스 코드를 이용해서 코딩을 할것이다.
return <div>
{
if(true){
let string = str.replace("{", "");
return <div>
{ string }
</div>
}
}
</div>
return문안에 태그가 나오고 그 태그 안에서 다시 조건문을 이용하여 조건문에 맞는 내용을 리턴하는 코드.
이것저것 갖다 붙이다 보면 나도 모르게 시작과 끝을 알리는 중괄호("{}")를 생략하게 되면 에러가 발생하게 되지만 차근차근 한줄 한줄 다시 붙여 넣어봐도 어김없이 에러가 발생했다.
원인은..문자열을 가공하는데 replace를 이용하여 String에서 {}를 공백으로 바꿔주는 코드가 있었다.
replace파라미터 문자열로 중괄호가 있었던게 문제..
아마도 return문 안에서는 문자열로 선언된 중괄호도 허용을 하지 않는듯 싶다.
그러니 그 부분은 따로 function으로 만들어서(return문안에서 중괄호를 빼버리면 된다) 사용하면 된다.
이러한 에러는 인텔리제이 상에서 에러라고 표현하고 실제 소스가 돌아가는 상황에서는 괜찮은 에러인듯 하다.
하지만 이런 사소한 에러도 운영중에 시스템에 영향을 주지 않으리란 보장이 없기 때문에..
'React.JS' 카테고리의 다른 글
React.js Key라는 존재.. (0) | 2017.10.11 |
---|---|
React.js Component LifeCycle API.. (0) | 2017.08.17 |