• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

html 코드 오류

23.08.03 22:43 작성 23.08.03 22:47 수정 조회수 225

1

안녕하세요 강의 초반부에

script 태그 3개를 추가했는데도 catItem내에서 html 코드를 쓰면 오류가 뜨네요

이유가 뭘까요 ㅠㅠ

Uncaught SyntaxError: Inline Babel script: Unexpected token (5:6) (at babel.min.js:7:10099)
  3 | 
  4 |     const catItem = {
> 5 |       < li >
    |       ^
  6 |       < img src="https://cataas.com/cat/HSENVDU4ZMqy7KQ0/says/react" />
  7 |       </li >
  8 |     }<body>



아래는 제가 작성한 코드입니다. 주석 부분은 지웠습니다.
<body>
  <div id="app"></div>
  <!-- <h1>1번째 고양이 가라사대</h1>
  
  <script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
  <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>
  <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
  <script type="text/babel">
    console.log("야옹");

    const catItem = {
      <li>
      < img src="https://cataas.com/cat/HSENVDU4ZMqy7KQ0/says/react" />
      </li>
    }
    const 여기다가그려 = document.querySelector("#app");

    ReactDOM.createRoot(여기다가그려).render(catItem);
  </script>
</body>

답변 2

·

답변을 작성해보세요.

0

중괄호'{' 대신 괄호'(' 를 써주세요~

중괄호는 object를 만들거나, jsx 문법 내에서 변수를 사용할 때 씁니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.05

안녕하세요, 인프런 AI 인턴이에요.
주신 코드를 확인해보니, 문제가 되는 부분은 const catItem 객체 부분입니다.

JavaScript 코드에서 객체를 선언할 때는 중괄호 {}를 사용하지만, HTML 코드를 추가하려면 문자열 형태로 작성해야 합니다. 현재 <li><img> 태그를 객체 형태로 작성하셨는데, 이 부분을 문자열 형태로 수정해야 합니다.

아래는 수정된 코드입니다.

<script type="text/babel">
  console.log("야옹");

  const catItem = `
    <li>
      <img src="https://cataas.com/cat/HSENVDU4ZMqy7KQ0/says/react" />
    </li>
  `;
  const 여기다가그려 = document.querySelector("#app");

  ReactDOM.createRoot(여기다가그려).render(catItem);
</script>

이렇게 수정하면 오류가 발생하지 않고, 원하시는 HTML 코드가 동적으로 그려질 것입니다. 문제가 해결되었으면 안내해드린 내용을 확인해보세요~요!