



큰따옴표(””) 사용
<MyComponent name = "정수아" />
숫자, 불리언, 배열, 객체, 함수 등
중괄호 사용
<MyComponent age = {20} />
FirstProps.js
import React from 'react';
function FirstProps(props){
return (
<div>
안녕하세요. 제 이름은 {props.name}입니다.
</div>
);
}
export default FirstProps;
App.js
import React from 'react';
import FirstProps from './FirstProps';
function App(){
return (
<div>
<FirstProps name="정수아" />
</div>
);
}
export default App;
FirstProps.js
function FirstProps(props){
return (
<div>
<h1>
안녕하세요. 제 이름은 {props.name}입니다.
<br/>
제가 좋아하는 색은 {props.color}입니다.
</h1>
</div>
);
}
App.js
import React from 'react';
import FirstProps from './FirstProps';
function App(){
return (
<div>
<FirstProps name="정수아" color="blue"/>
</div>
);
}
export default App;
function FirstProps({name, color}){
return (
<div>
<h1>
안녕하세요. 제 이름은 {name}입니다.
<br/>
제가 좋아하는 색은 {color}입니다.
</h1>
</div>
);
}
function FirstProps(props){
const {name, color} = props;
return (
<div>
<h1>
안녕하세요. 제 이름은 {name}입니다.
<br/>
제가 좋아하는 색은 {color}입니다.
</h1>
</div>
);
}
App.js
import React, { Component } from 'react';
import ClassProps from './ClassProps';
class App extends Component {
render() {
return (
<div>
<ClassProps name="정수아" color="blue"/>
</div>
);
}
}
export default App;
ClassProps.js
import React, { Component } from 'react';
class ClassProps extends Component {
// render: 안에 있는 내용 출력
render() {
const {name, color} = this.props;
return (
<div>
<h1>
안녕하세요. 제 이름은 {name}입니다.
<br/>
제가 좋아하는 색은 {color}입니다.
</h1>
</div>
);
}
}
export default ClassProps;
true는 프로퍼티의 이름만 선언함
<BooleanComponent boolValue />
// true 생략 가능
false는 프로퍼티의 이름을 생략함
<BooleanComponent />
import React from 'react';
function BooleanComponent({bored}){
const message = bored ? '놀러 가자' : '하던 일 열심히 마무리하기'
return (
<div>
{message}
</div>
);
}
export default BooleanComponent;
import React from 'react';
import BooleanComponent from './BooleanComponent';
function App(){
return (
<div>
<div>
<b>지루할 때 : </b>
<BooleanComponent bored/>
</div>
<div>
<b>즐거울 때 : </b>
<BooleanComponent/>
</div>
</div>
);
}
export default App;
import React from 'react’;
function DefaultProps({name}){
return(
<div>
안녕하세요. 제 이름은 {name}입니다.
</div>
);
}
// 컴포넌트이름.defaultProps
DefaultProps.defaultProps = {
name : "이름없음"
}
export default DefaultProps;
import React from 'react';
import DefaultProps from './DefaultProps';
function App(){
return (
<div>
<DefaultProps name="정수아"/>
<DefaultProps/>
</div>
);
}
export default App;
<ParentComponent>
안녕하세요
<childComponent/>
</ParentComponent>
import React from 'react';
function Wrapper(){
const style = {
border : '3px solid red',
padding : '20px'
}
return (
<div style={style}>
</div>
);
}
export default Wrapper;
import React from 'react';
import Wrapper from './Wrapper';
import HeaderComponent from './CreateHeader';
import BodyComponent from './CreateBody';
import FooterComponent from './CreateFooter';
function App(){
return (
<Wrapper>
<HeaderComponent/>
<BodyComponent/>
<FooterComponent/>
</Wrapper>
);
}
export default App;
import React from 'react';
function Wrapper({children}){
const style = {
border : '3px solid red',
padding : '20px'
}
return (
<div style={style}>
{children}
</div>
);
}
export default Wrapper;
prop-types를 import 해야 함
import PropTypes from 'prop-types';
import React from 'react';
import PropTypes from 'prop-types';
function PropTypesComponent({name}){
return(
<div>
안녕하세요. 제 이름은 {name}입니다.
</div>
);
}
PropTypesComponent.propTypes = {
name : PropTypes.string
}
export default PropTypesComponent;
import React from 'react';
import PropTypesComponent from './PropTypesComponent';
function App(){
return (
<PropTypesComponent name={3}/>
);
}
export default App;
import React from 'react';
import PropTypes from 'prop-types';
function PropTypesComponent({name, favoriteNumber}){
return(
<div>
안녕하세요. 제 이름은 {name}입니다.<br/>
제가 좋아하는 숫자는 {favoriteNumber}입니다.
</div>
);
}
PropTypesComponent.propTypes = {
name : PropTypes.string,
favoriteNumber : PropTypes.number.isRequired
}
export default PropTypesComponent;
import React from 'react';
import PropTypesComponent from './PropTypesComponent';
function App(){
return (
<PropTypesComponent name=“정수아”/>
);
}
export default App;
import React from 'react';
import PropTypesComponent from './PropTypesComponent';
function App(){
return (
<PropTypesComponent name=“정수아” favoriteNumber={7}/>
);
}
export default App;
import React from 'react';
function MovieComponent(props){
const { title, open } = props;
return (
<div>
<h1>제목 : {title} </h1>
<h1>개봉 : {open} </h1>
<hr/>
</div>
);
};
export default MovieComponent;
App.js
import React from 'react';
import MovieComponent from './MovieComponent';
function App(){
return (
<div>
<MovieComponent title="공조2:인터내셔날" open="2022.09.07"/>
<MovieComponent title="인생은 아름다워" open="2022.09.28"/>
<MovieComponent title="정직한 후보2" open="2022.09.28"/>
</div>
);
}
export default App;
const arr = [1, 2, 3, 4, 5];
const modifiedArr = arr.map(function(element){
return element * 3;
});
console.log(modifiedArr);

function App(){
const movieList = [
{
title : "공조2: 인터내셔날",
open : "2022.09.07",
},
{
title : "인생은 아름다워",
open : "2022.09.28",
},
{
title : "정직한 후보2",
open : "2022.09.28",
}
];
return (<></>);
}
export default App;
const movieList = [ ...생략... ]
return (
<>
{
movieList.map(movie =>
<MovieComponent title={movie.title} open={movie.open} />)
}
</>
);
const movieList = [
{
title : "공조2: 인터내셔날",
open : "2022.09.07",
img : "https://search.pstatic.net/common?type=o&size~~~"
},
];
return <MovieComponent title={movie.title} open={movie.open} img={movie.img} />
function MovieComponent(props){
const { title, open, img } = props;
return (
<div>
<h3>제목 : {title} </h3>
<h3>개봉 : {open} </h3>
<img src = {img} />
<hr/>
</div>
);
};
다양한 자료형을 저장 가능
// 숫자형
const numberList = [1, 2, 3, 4, 5];
// 2개 이상의 자료형
const mixedList = [1, ‘str’, {}, function a() { }];
XML과 JSX 또한 저장 가능
// JSX 배열
const componentList = [ <MyComponent />, <MySecondComponent /><b>Hi</b> ];
App.js
function App(){
const todoList = [
{ taskName : '빨래하기', finished : false },
{ taskName : '공부하기', finished : true },
];
return (
<>
{
todoList.map(todo => <div>{ todo.taskName }</div>)
}
</>
);
}
JSX 배열 리턴
[<div>빨래하기</div>, <div>공부하기</div>]
App.js
function App(){
const todoList = [
{ taskName : '빨래하기', finished : false },
{ taskName : '공부하기', finished : true },
];
return (
<>
{
todoList.map(todo =>
<TodoTask taskName={todo.taskName}/>)
}
</>
);
}
TodoTask.js
import React from 'react';
function TodoTask(props){
const { taskName } = props;
return (
<div>
{taskName}
</div>
);
};
export default TodoTask;
실행 결과
[<TodoTask taskName=“빨래하기”/>, <TodoTask taskName=“공부하기” />]
App.js
function App(){
const todoList = [
{ taskName : '빨래하기', finished : false },
{ taskName : '공부하기', finished : true }
];
return (
<>
{
todoList.map(todo =>
<div key={todo.taskName}>{todo.taskName}</div>)
}
</>
);
}