
- props 를 리액트 Component에 넘겨줄 수 있다.
- props는 컴포넌트가 실행되는 동안 유지해야하는 값이 있을 때 사용

🧑🏻🏫학습 목표
- App.js에서 Counter 컴포넌트로 값을 넘겨주고 넘겨받은 값으로 더하기 빼기를 실행하는 앱을 만들어보자
property 값에 접근하기
1. 기존방식으로 접근
App.js
function PlayingWithProps(properties){
console.log(properties)
console.log(properties.property1)
console.log(properties.property2)
return (
<div>Props</div>
)
}
function App() {
return (
<div className="App">
<PlayingWithProps property1="value1" property2 = "value2"/>
<Counter/>
<Counter/>
<Counter/>
</div>
);
}

function PlayingWithProps(properties){
console.log(properties.property1)
console.log(properties.property2)
return (
<div>Props</div>
)
}

2. modern JS 방식으로 값 전달받기(React)
function PlayingWithProps({property1, property2}){
console.log(property1)
console.log(property2)
return (
<div>Props</div>
)
}
Counter.jsx
export default function Counter({by}){
const [count, setCount] = useState(0);
function incrementCounterFunction(){
setCount(count + by)
console.log(count);
}
function decrementCounterFunction(){
setCount(count - by)
console.log(count);
}
return(
<div className="Counter">
<span className="count">{count}</span>
<button className="counterButton"
onClick={incrementCounterFunction}
>+{by}</button>
<button className="counterButton"
onClick={decrementCounterFunction}
>-{by}</button>
</div>
)
}
- by 를 매개변수로 받아오고 함수와 html을 고쳐준다
props의 기본 설정
Counter.prototype = {
by: prototype.number
}
Counter.defaultProps = {
by : 1
}
- 텍스트가 아닌 숫자형으로 바꿔준다
- 기본설정을 1로 바꿔준다.
App.js
function App() {
return (
<div className="App">
{}
<Counter by={1}/>
<Counter by={2}/>
<Counter by={5}/>
{}
</div>
);
}
- 매개변수로 숫자를 넣어줄때는 중괄호 안에 넣어주어야 한다!!