state
는 화면에 보여줄 컴포넌트의 UI 정보(상태)를 지니고 있는 객체
state 안에 들어가는 정보들은 변하는 정보
가 들어간다.
import React from 'react';
class Parent extends React.Component{
constructor(){
super();
this.state = {
titleColor :"red",
subTitleColor:"blue",
};
}
changeTitleColor = () => {
this.setState({
titleColor : 'green',
});
};
render(){
const{titleColor, subTitleColor} = this.state;
return(
<div>
<h1 style = {{color: titleColor}}Class Component</h1>
<button onClick ={this.changeTitleColor}>색바꾸기</button>
</div>
);
}
}
export default Parent;
component 가 실행될 때 constructor 라는 함수가 있다면 제일 먼저 실행되서 초기화를 담당한다. 그 다음 this.state를 통해 state값을 초기화 시킨다.
<h1 style = {{color: titleColor}}>
에서 중괄호의 의미는 바깥쪽은 js
를 쓰겠다는것을 의미하며 안쪽 중괄호는 객체
를 의미한다.
const{titleColor, subTitleColor} = this.state;
는
구조 분해 할당
인데 이는 객체나 배열에 대해 사용한다. 배열이나 객체 안에 들어있는 데이터들을 변수에 할당하는 문법이다.
const obj = {
name : "tony",
age : 18,
};
const{name,age} = obj;
-> 키 값이랑 동일하게 변수를 만들어준다. 각각의 변수 name, age 안에는 해당되는 value값들을 저장한다.
setState
함수를 사용해서 state 값 변경해줘야한다.설명 출처: wecode session
//HTML
<button onclick = "activateLasers()">
Active Lasers
</button>
//React
<button onClick = {activeLasers}>
Active Lasers
</button>
-React 에서는 false를 반환해도 기본동작을 방지할 수 없다.
반드시 preventDefault를 명시적으로 호출해야한다.
//HTML
<a href="#" onclick ="console.log('The link was clicked'); return false">
click me
</a>
//React
function ActionLink(){
function handleClick(e){
e.prevent Default();
console.log('The link was clicked');
}
return (
<a href="#" onClick={handleClick}>
click me
</a>
);
}
설명 출처: React 공식문서
다음 게시물에는 westagram을 하면서 직접 짠 코드를 리뷰해봐야겠다.