inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

처음 만난 리액트(React)

JSX 입문 강의 질문입니다.

248

안광무

작성한 질문수 1

0

JSX를 각각 Book, Library로 만들고 index.js 단에 app 부분을 Library로 바꿨음에도 작동이 안 되고 있습니다. 객체 지정 대부분을 앞에 대문자로 주었음에도 오류는 똑같이 빈 화면이 뜨는 오류가 발생하고 있습니다.

코드는 하단에 작성해놓겠습니다.

- Book.jsx

import React from "react";

function Book(props){
    return (
        <div>
            <h1>{`이 책의 이름은 ${props.name} 입니다.`}</h1>
            <h2>{`이 책은 총 ${props.numOfPage} 페이지로 이뤄져 있습니다.`}</h2>
        </div>
    )
}

export default Book;

-Library.jsx

import React from "react";
import Book from "./Book";

function Library(props) { 
    return( 
    <div> 
        <Book name="처음 만난 파이썬" numOfPage={300}/> 
        <Book name="처음 만난 AWS" numOfPage={400}/> 
        <Book name="처음 만난 리엑트" numOfPage={500}/> 
    </div> 
    ); 
}

export default Library;

-index. js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

import Library from './chapter_03/Library';

ReactDOM.render(
  <React.StrictMode>
    <Library />
  </React.StrictMode>,
  document.getElementById('root')
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

HTML/CSS react javascript

답변 1

0

Inje Lee (소플)

안녕하세요, 안광무님. 소플입니다.

강의에서 사용한 리액트 버전과 실제 실습에서 사용하시는 리액트 버전이 달라서 발생하는 문제인 것 같습니다.

아래 코드와 같이 createRoot를 사용하는 방식으로 한 번 해보시기 바랍니다.

그리고 앞으로 실습하실 때 아래 리액트 v18기준으로 작성된 실습 코드를 참고하시면 좋을 것 같습니다!

https://github.com/soaple/first-met-react-practice-v18

 

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

import Library from './chapter_03/Library';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <Library />
  </React.StrictMode>
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

강의가 삭제되었다고 합니다

0

106

1

이거 왜 존재하지 않는다고 뜨는건가요

0

133

1

존재하지 않는 수업이라고 떠요

0

183

1

안드로이드 에뮬레이터 오류

0

100

1

교재 구입해서 강의 들으려고 하는데 커리큘럼이 없어졌어요.

0

125

1

prevIsConfiromed 질문

1

141

2

chapter14 잘이해가 되지않습니다..

1

135

2

2025년 3월 리액트버전

1

201

2

npm 설치 오류

1

175

1

chapter_07 콘솔로그 질문드려요~!

1

127

2

안녕하세요 미니블로그 실습 질문드립니다.

1

178

3

에러가 떠요

1

218

3

Chapter6 질문 드립니다

1

209

2

실습 코드 있을까요?

1

206

2

상태가 업데이트될때 컴포넌트 최상단의 console.log 코드가 두번 실행되는 이유가 궁금합니다.

1

233

2

npx create-react-app my-app 명령어 입력이 잘못된 것 같습니다

0

308

3

이름과 코멘트 줄바꿈이 안 됩니다.

0

140

1

버튼이 안 뜹니다

0

303

2

npx create-react-app my-app

1

470

2

jsx 코드 작성해보기에서 index.js 수정 후 에러 뜹니다.

1

376

3

Chapter_05 터미널, 리액트 에러

0

193

2

npx create-react-app my-app 명령어 반응없음

1

432

3

import 코드 에러

1

214

1

백틱

1

121

1