본문 바로가기
React

[REACT] state

by Minius 2019. 12. 10.
반응형

* 김민준님의 '리액트를 다루는 기술'을 공부하며 개인적으로 정리한 내용입니다.

state

- 컴포넌트 내부에서 바뀔 수 있다.

props

- 부모 컴포넌트에서만 바꿀 수 있다.

- 컴포넌트는 props를 읽기전용으로만 사용할 수 있다.

 


두 종류의  state가 있다.

- 클래스형 컴포넌트의 state

- 함수형 컴포넌트의 state (useState 함수)


import React, { Component } from 'react';

class Counter extends Component {
    constructor(props){
        super(props);
        this.state = {
            number: 0
        }
    }
    render() {
        const {number} = this.state;
        return (
            <div>
                <h1>{number}</h1>
                <button
                    onClick={() => {
                        this.setState({number: number + 1})
                    }}
                >+1</button>
            </div>
        );
    }
}

export default Counter;

버튼을 누를 때 마다 state의 number 값을 1씩 올려주는 컴포넌트이다.

여기서 onClick 을 onclick이라고 적어서 안됐다.

대소문자를 꼭 구분해주자.

에러 메세지도 안떠서 찾기 어렵다.

 


constructor(props){
        super(props);
        this.state = {
            number: 0,
            fixedNumber: 0
        }
    }
    state = {
        number: 0,
        fixedNumber: 0
    }

위 2개의 state 값 초기화는 같은 역할을 한다.

편의성을 위해 아래껄 쓴다.

 


Hooks ?

함수형 컴포넌트에서 state를 사용하기 위해 쓰는 도구

useState 를 사용한다.

 

배열 비구조화 할당 ?

배열 안에 들어 있는 값을 쉽게 추출할 수 있도록 해 주는 문법

 

const array = [1,2];
const one = array[0];
const two = array[1];
const array = [1,2];
const [one, two] = array;

위의 형식으로 사용하는 것을 배열 비구조화 할당이라고 한다.

 


 

'React' 카테고리의 다른 글

[REACT] HOOKS  (0) 2019.12.18
[React] 라이프사이클  (0) 2019.12.16
[REACT] props  (0) 2019.12.09
[REACT] 컴포넌트  (0) 2019.12.08
[REACT] 간단한 질문들.  (0) 2019.12.07

댓글