React
Events in React
mellomello.made
2022. 6. 15. 15:05
cc: nomad coders ReactJS로 영화 웹 서비스 만들기 #2.3 Events in React
vanilla.html에 적은 버튼 이벤트리스너를 index.html에서 React로 4줄의 코드를 한번에 대체했다.
- React JS import
- React JS는 반드시 필요하다.
- React JS가 element를 생성하고 event listener를 더하는 것을 도와준다.
- React JS가 Interactive power를 가지고 있기 때문이다.
- 어플리케이션이 아주 인터랙티브하도록 만들어주는 library 엔진과 같다.
- ReactDom import
- React element들을 가져다가 HTML로 바꾸기 위해 ReactDom import
- library 또는 package. 모든 react element들을 HTML body에 둘 수 있도록 해줌.
- ReactDom.render
- render의 의미는 react element를 가지고 HTML로 만들어 배치한다는 것. 즉, 사용자에게 보여준다는 의미
- ReactDom은 React element들을 root div 안에서 보여주라는 뜻이다.
- 10번 줄 const h3의 createElement(“h3”)는 반드시 생성하고자 하는 HTML 태그와 똑같아야한다.
- <body>태그 안에 비어있는 div는 ReactDom이 React element들을 가져다 놓을 곳이다.
- 그래서 9줄에서 root div를 가져온 후에, 36번 줄에서 ReactDom.render를 했다.
- 35번줄 container element는 div이다.
- div의 content는 h3와 btn이다.
- 바닐라JS는 HTML -> JS 순서
리액트는 JS -> HTML 순서- JS가 element를 생성하고 React JS가 그것을 HTML로 번역하는 것
React JS는 업데이트 해야 하는 HTML을 업데이트 할 수 있음
- JS가 element를 생성하고 React JS가 그것을 HTML로 번역하는 것
MacOS에서(더 다양한 환경에서도 재현 가능성 있음)하게되면,CORB 위반으로 인해 unpkg를 못불러옴,
따라서 script를 불러올 때,중간에 crossorigin 을 넣으면 정상작동합니다.
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
다음강의에서는 create element를 쓰지 않는다고 한다. 하지만 이게 React js의 기초이고 핵심이자 어려운 방법이다.
#react #리액트
오류 나거나 콘솔에 안 뜨는 경우

Uncaught ReferenceError: ReactDom is not defined
ReactDOM(DOM 대문자)로 했는지, event listener가 소문자, 대문자로 잘 적혀있는지 확인한다.