✅ JSX & React
✅ component와 props
자바스크립트의 확장 문법으로, javascript안에 html을 쓴 형태
UI가 어떻게 생겼는지 설명하기 위해 React와 함께 사용한다.
<div> </div>
로 반듯이 표현해야하지만, <div/>
로 사용할 수 있다.<input>, <img>
태그가 하나인 요소는 반듯이 <input />, <img />
로 셀프크로징을 해줘야만 에러가 발생하지 않는다.소괄호()로 감싸야하며, 여러개의 태그가 있는 경우에는 하나의 태그로 감싸줘야만 한다.
코드가 눈에 보일 수 있도록 그려지는 것이다.
ReactDOM.render
이라는 함수를 사용한다.ReactDOM.render(<p>리액트는 처음이지</p>, document.getElementsById("root"));
<p>리액트는 처음이지</p>
👉 첫번째요소: jsx로 React요소를 인자로 넘기며, 이 자리에는 component가 올 수도 있다.document.getElementsById("root"));
두번째요소: 렌더하고 싶은 부모요소를 전달해준다. 즉, id가 "root"인 곳에 첫번쨰 요소를 전달하겠다라는 뜻!컴포넌트
란, 재사용 가능한 UI단위로,
✔️ 독립적으로, 재사용이 가능한 코드로 여러조각을 나누어 관리
✔️ 하나의 컴포넌트에 필요한 html, css, js를 모두 합쳐서 만들 수 있다.
✔️ 함수랑 비슷하여, props(property)를 받아서 return(화면에 보여질 React요소들)을 할수 있다.
두가지!!
이전에는 함수형으로 표현할 수 있는 것이 한계적이고 Class를 많이 사용했지만, Hook이 나온 이후로는 함수형이 더 많이 사용되고 있다.
하지만, 꼭 두가지 다 이해를 해야할 것!!
function 컴포넌트() {
return (<div>
<p>리액트는 처음이지</p>
</div>);
}
class 컴포넌트 extends React.component {
render()
return (<div>
<p>리액트는 처음이지</p>
</div>);
}
✔️ 태그처럼 사용한다. <컴포넌트명></컴포넌트명>
or <컴포넌트명 />
✔️ 원하는 컴포넌트를 사용할 때 원하는 props를 얼마든지 사용할 수 있다.
props.속성명
으로 속성 value를 가지고 올 수 있다.