Notice
Recent Posts
Recent Comments
Link
마이라이프해피라이프
머리에 넣자. React 본문
1. camelCase
JSX는 HTML보다는 JavaScript에 가깝기 때문에, React DOM은 HTML 어트리뷰트 이름 대신 camelCase 프로퍼티 명명 규칙을 사용합니다.
2. 객체 표현
const element = (
<h1 className="greeting">
Hello, world!
</h1>
);
const element = React.createElement(
'h1',
{className: 'greeting'},
'Hello, world!'
);
3. 엘리먼트
엘리먼트는 React 앱의 가장 작은 단위
React로 구현된 애플리케이션은 일반적으로 하나의 루트 DOM 노드가 있습니다. React를 기존 앱에 통합하려는 경우 원하는 만큼 많은 수의 독립된 루트 DOM 노드가 있을 수 있습니다.
React 엘리먼트를 루트 DOM 노드에 렌더링하려면 둘 다 ReactDOM.render()로 전달하면 됩니다.
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
4. 함수 컴포넌트와 클래스 컴포넌트
컴포넌트를 정의하는 가장 간단한 방법 -> 함수 정의
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
5. React 엘리먼트는 사용자 정의 컴포넌트로도 나타낼 수 있습니다.
React가 사용자 정의 컴포넌트로 작성한 엘리먼트를 발견하면 JSX 어트리뷰트와 자식을 해당 컴포넌트에 단일 객체로 전달합니다. 이 객체를 “props”라고 합니다.
6. 컴포넌트 합성
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
function App() {
return (
<div>
<Welcome name="Sara" /> <Welcome name="Cahal" /> <Welcome name="Edite" /> </div>
);
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
7. 모든 React 컴포넌트는 자신의 props를 다룰 때 반드시 순수 함수처럼 동작해야 합니다.
8. Hoisting
함수 선언과 클래스 선언의 중요한 차이점은 함수의 경우 정의하기 하기 전에 호출할 수 있지만, 클래스는 반드시 정의한 뒤에 사용할 수 있다는 점입니다. 다음 코드는 ReferenceError를 던질 것입니다.
const p = new Rectangle(); // ReferenceError
class Rectangle {}
9. 직접 state를 수정하지 마세요.
// Correct
this.setState({comment: 'Hello'});
리액트 공식 문서 - 이벤트 처리하기 전까지
'컴퓨터 > React' 카테고리의 다른 글
입문 강의 - 생코, React (2) (0) | 2022.07.02 |
---|---|
입문 강의 - 생코, React (0) | 2022.07.01 |
[React] 리액트 공부 내용 정리 (Route) (0) | 2022.03.12 |
[React] 초기파일 설정 (0) | 2022.03.12 |
[React] 리액트 공부하면서 헷갈렸던 것 (useState, props) (0) | 2022.02.18 |