반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- formik react-query submitting not working
- git squash
- 시스템설계면접팁
- cypress React
- 리액트구글애널리틱스
- 시스템설계
- 가상면접으로대규모시스템
- 가상면접2장
- 가상면접3장
- 리팩터링2판테스트
- git commit 협업
- 시스템설계면접
- cypressBDD
- formik submitting not working
- git commit merge
- react-ga
- awss3
- 리팩토링2판4장
- react
- file not found Error
- 헤드퍼스트전략패턴
- 디자인패턴
- FirebaseAnalytics
- 전략패턴
- 테스트코드책
- s3이미지다운로드됨
- 시스템설계면접예시
- gitsquash
- Git commit 합치기
- 시스템설계방법
Archives
- Today
- Total
mingg IT
[React] CRA(create-react-app) 사용하지 않고 초기 세팅 해보기 본문
CRA를 이용하면 초기 세팅을 직접 하지 않고도 어플리케이션을 만들 수 있다.
오늘은 그것을 사용하지 않고 초기에 세팅해보는 방법에 대해 알아보도록 하겠다.
간단하게 hello-world라는 디렉토리를 만든다.
우선 이름을 보고 판단할 수 있듯이 react-dom.development, react.development는 개발 환경에서 사용되는 파일이고,
react-dom.production.min.js, react.production.min.js 는 배포에 필요한 환경 파일임.
파일 상세내용은 git 에 올려놓도록 하겠음.
simple1.html 파일을 만든다.
<html>
<body>
<h2>안녕하세요. 이 프로젝트가 마음에 드시면 좋아요 버튼을 눌러주새요.</h2>
<div id="react-root"></div>
<script src="react.development.js"></script>
<script src="react-dom.development.js"></script>
<script src="simple1.js"></script>
</body>
</html>
simple1.js
function LikedButton() {
const [liked, setLiked] = React.useState(false);
const text = liked ? '좋아요 취소' : '좋아요';
return React.createElement(
'button',
{ onClick: () => setLiked(!liked) },
text
);
}
const domContainer = document.querySelector('#react-root');
ReactDOM.render(React.createElement(LikedButton), domContainer);
domContainer는 html 파일에서 만들어두었던 돔 요소를 가져온다.
마지막 줄 같은 경우에는 react-dom.development.js 파일에서 전역 변수로 만든 ReactDOM 변수를 사용해서 우리가 만든 컴포넌트를 REact-root 돔 요소에 붙임.
html 파일을 열어보면 확인할 수 있다.
바벨 사용해보기
바벨은 자바 스크립트 코드를 변환해주는 컴파일러임. 즉 브라우저가 ES6 문법을 지원하고 있지 않을 경우에 ES5 문법으로 변환해주는 역할임.
다른 용도로는 코드에서 주석을 제거하거나 코드를 압축하는 용도로 사용할 수 있다.
리액트에서 JSX 문법을 사용하기 위해 바벨을 사용한다. 바벨이 JSX 문법으로 작성된 코드를 createElement 함수를 호출해주는 코드로 변환해준다.
'FrontEnd' 카테고리의 다른 글
[React] useState와 클로저 (0) | 2022.05.12 |
---|---|
[React]You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.1) 에러 해결하기 (0) | 2022.05.09 |
[React] Typeit 사용하기 (React v 17) (0) | 2022.04.25 |
[리팩토링] 반복문을 파이프라인으로 바꾸기 (0) | 2022.04.10 |
[HTML] Shadow DOM (0) | 2022.04.09 |
Comments