React - State


props는 자식 입장에서는 읽기전용이다.

State

state는 내부에서 변경할 수 있다. 자기가 처음부터 들고 있다가 변화를 일으킬 때는 항상 setState라는 함수를 사용한다.

app.js

import React, { Component } from 'react';
import Counter from './Component.js'

class App extends Component {
  render() {
    return (
      <Counter />
    );
  }
}

export default App;

component.js

import React, {Component} from 'react';

class Counter extends Component{

  state = {
    number : 0
  }

  handleIncrease = () => {
    this.setState({
      number: this.state.number +1
    })
  }

  /*
  handleIncrease(){this // this가 뭔지 모르게 된다} 
  이때는 constructor(props){super(props);} 를해줘야 한다.
  */

  handleDecrease = () => {
    this.setState({
      number: this.state.number -1
    })
  }

  render(){
    return(
      <div>
        <h1>카운터
          </h1>
          <div>: {this.state.number}</div>
          <button onClick={this.handleIncrease}>+</button>
          <button onClick={this.handleDecrease}>-</button>
        </div>
    )

  }

}

export default Counter;

무조건 setState를 사용한다는 것을 명심하자.