※ 리액트 중요 필수 개념 3가지
1. 컴포넌트
2. props
3. state
==> 리액트는 모든걸 컴포넌트화 시킨다.
------리액트 JSX
코드 작성 시 return( ) 밑에 쓰는걸 JSX라고함
-JSX(JavaScript XML)는 Javascript에 XML을 추가한 확장한 문법이다.
상속해줄 키.
부모컴퍼넌트->자식컴퍼넌트에게 전달하는 데이터이고
자식컴퍼넌트에서 직접적으로 수정할 수 없는 값.
수정은 부모컴퍼넌트에서 함.
컴포넌트 내부에서 가지고 있는 값=변경할 수 있는 값.
Subject.js 페이지
import React, {Component} from 'react';
class Subject extends Component{
render(){
return(
<header> {/*중괄호{ }를 이용하여 동적인 값을 랜더링할 수 있다. 리팩토링 개념*/}
<h1>{this.props.title}</h1>
{this.props.sub}
</header>
);
}
}
export default Subject;
Content.js페이지
import React, {Component} from 'react';
class Content extends Component{
render(){
return(
<article>
<h2>{this.props.title}</h2>
{this.props.desc}
</article>
);
}
}
export default Content;
App.js 페이지 ->해당 페이지에서 수정 및 추가 가능함
import React, { Component } from 'react';
import './App.css';
import Subject from "./Components/Subject";
import Content from "./Components/Content";
import TOC from "./Components/TOC";
class App extends Component{
render(){
return(
<div className='App'> { /* props name="값" */}
<Subject title="WEB" sub="world wide web!"/>
<Subject title="React" sub="JavaScript library for building user interfaces"/>
<Subject title="Node JS" sub="JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램 "/>
<Content title="Java" desc="자바는 객체지향 언어이면서 이벤트 처리 중심 언어이다."/>
<Content title="Database Design" desc="웹 개발자가 되려면 데이터 베이스 설계가 아주 중요합니다"/>
<Content title="Javascript" desc="Javacript는 사용자와 상호작용하는 객체기반 언어이다"/>
</div>
);
}
}
export default App;
출력 결과
