All ContentsCategoryAbout

React TIL 04

08 June, 2020 - React - 2 min read

React TIL 04

  • class component는 render 외에도 많은 것을 갖고 있다.
  • 그 중의 하나가 life cycle method

    • life cycle method는 react가 component를 생성하고 없애는 방법
    • component가 생성될 때 render 이전에 호출되는 함수들이 있고, 이후에 호출되는 함수들이 있다.
    • mounting / unmounting
    • updating
class App extends React.Component {
  constructor(props) {
    super(props);
    console.log("this is constructor");
  }
  state = {
    count: 0
  };
  plus = () => {
    this.setState(current => ({ count: current.count + 1 }));
  };
  minus = () => {
    this.setState(current => ({ count: current.count - 1 }));
  };
  render() {
    console.log('this is render');
    return (
      <div>
        <h1>The number is {this.state.count}</h1>
        <button onClick={this.plus}>Plus</button>
        <button onClick={this.minus}>Minus</button>
      </div>
    );
  }
}

  • constructor는 render보다 먼저 호출된다.
class App extends React.Component {
  state = {
    isLoading: true
  };
  componentDidMount() {
    setTimeout(() => {
      this.setState({isLoading: false});
    }, 3000);
  }
  render() {
    const { isLoading } = this.state;
    return <div>{isLoading ? 'Loading...' : 'We Are Ready!'}</div>;
  }
}
  • componentDidMount는 render 이후에 호출된다.

참고:

Axios

  • fetch처럼 데이터를 받아올 때 사용함
  • async/await과 같이 사용 가능

    • ex) axios가 데이터를 다 받아올 때까지 기다려달라는 의미.
  getMovies = async () => {
    const movies = await axios.get('https://yts.lt/api/v2/list_movies.json');  
  }

© 2023 intzzzero, Built with

Gatsby