
public
src
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
<div id="root"></div> : app.jsx에서 작성한 코드가 return되어 index.js를 거친 후 만들어진 DOM이 그려진다즉 index.html은 직접적으로 요소를 추가하는게 아닌 index.js에 의해 렌더링 된 결과가 표시되는 것
주의사항
실질적인 React 코드를 작성하는 곳
실제로 화면에 표시되는 내용 등은 여기에서 정의된다
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './app';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
import React from 'react'; : React 본체
import ReactDOM from 'react-dom'; : React 본체
import App from './app'; : app.jsx 에서 생성된 React 코드를 호출 (확장자가 js, jsx면 생략 가능)
ReactDOM.render(첫번째 인수, 두번째 인수)
<App />)<React.StrictMode> ~ </React.StrictMode>
document.getElementById('root') : 호출한 app.jsx를 index.html에서 'root'라는 id를 가진 곳에 그려준다
결론
지금까지 HTML, CSS, JavaScript는 작성한 것이 그대로 브라우저에 업데이트되어 동작했지만 React는개발시 작성하는 코드와실제로 배포되는 코드는 전혀 다르다.
실질적으로 개발시 사용하는건 index.js와 app.jsx이고 수정 역시 여기서 한다. 하지만 배포하기 위해 빌드 작업을 거치면 스크립트는 새로 생성되고 코드 자체가 전혀 다르게 변한다 (즉 빌드 이후 생성된 것은 가독성도 떨어지고 더 이상 편집하기 힘들다)
😍 코드 지적은 언제나 환영입니다. 읽어주셔서 감사합니다. 😍