일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- JS
- firebase
- localstorage
- react
- 리액트
- Frontend
- CORS
- TypeScript
- 타입스크립트
- Component
- JavaScript
- react localStorage
- state
- Reducer
- axios
- 파이어베이스
- 알고리즘
- 브라우저
- Redux
- 컴포넌트
- 프리온보딩
- es6
- 원티드
- array
- v9
- 프로그래머스
- til
- 자바스크립트
- 프론트엔드
- 비트 연산자
Archives
- Today
- Total
도리쓰에러쓰
[React] 예전 Component 문법 본문
예전 Component 문법
최신 Component 문법을 사용하는게 당연히 좋지만, 예전 Component 문법을 알고는 있는게 좋을 것 같아 간단하게 작성합니다.
class Profile extends React.Component {
constructor(){
super();
this.state = { name : 'Kim', age : 30 }
}
render(){
return(
<div>
<h3>프로필입니다</h3>
<p>저는 { this.state.name } 입니다.</p>
<button onClick={ () => { this.setState({ name : 'Park'}) } }>버튼</button>
</div>
)
}
}
- constructor : class의 변수/초기값 저장할 때 사용
- state : constructor 안에 작성
- this.setState() : 값 변경할 때 사용하는 함수
- onClick에 함수를 적용하고 싶으면 다음과 같이 bind()로 함수를 찾아서 사용할 수 있습니다.
class Profile extends React.Component {
// constructor : class의 변수/초기값 저장할 때 사용
constructor(){
super();
// state는 constructor 안에 작성
this.state = { name : 'Kim', age : 30 }
}
changeName() {
this.setState({ name: 'Park'})
}
render(){
return(
<div>
<h3>프로필입니다</h3>
<p>저는 { this.state.name } 입니다.</p>
<button onClick={ () => { this.changeName().bind(this) } }>버튼</button>
</div>
)
}
}
- bind()를 사용하고 싶지 않다면, 함수에 arrow function을 적용하면 됩니다.
class Profile extends React.Component {
constructor(){
super();
this.state = { name : 'Kim', age : 30 }
}
changeName = () => {
this.setState({ name: 'Park'})
}
render(){
return(
<div>
<h3>프로필입니다</h3>
<p>저는 { this.state.name } 입니다.</p>
<button onClick={ () => { this.changeName() } }>버튼</button>
</div>
)
}
}
'코딩애플 (React) > 기초수업 (코딩애플) - 1' 카테고리의 다른 글
[React] Props 사용하여 state 값 전달하기 (부모 컴포넌트 -> 자식 컴포넌트) (0) | 2021.12.30 |
---|---|
[React] Component 및 Fragment 태그 사용하기 (0) | 2021.12.23 |
[React] useState() 함수 (0) | 2021.12.23 |
[React] 리액트(React) 시작하기 및 설치 방법 (2021-12-19ver.) (0) | 2021.12.19 |
Comments