[React]React, Node, MySQL Movie Board

Updated:

React 이용한 Movie Board 만들기

image

image


1. useState() & useEffect()

useState() 란?
useState는 함수형 컴포넌트에서 상태값을 관리하게 해준다.

// 기본구조
const [state, setState] = useState(initialState);

초기값을 매개변수로 useState를 호출하면 첫 번째, 두 번째 요소에 각각 state, setState를 받을 수 있다.

// 사용 예
import React, { useState } from 'react'
export default function Profile () {
    const [name,setName] = useState('');
    return (
        <div>
            <p>{`name is ${name}`}</p>
            <input type='text' value={name} onChange={e=>setName(e.target.value)}></input>
        </div>
    )
}

useEffect() 란?

어떤 Effect를 발생시키고 싶을 때 사용한다. 여기서 말하는 Effect란 명령형 함수 또는 타이머, 로깅, 변형, sideEffect 등을 발생시키는 함수등을 말한다. useEffect에 전달된 함수는 렌더링 완료 후 실행되지만, 어떤 값이 변경됐을 경우 실행되도록 할 수도 있다.

2. Axios 란?

import axios from 'axios';

Axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리이다. 백엔드와 프론트엔드 통신을 쉽게하기 위해 Ajax와 더불어 사용한다.

// GET 요청

const axios = require('axios');

// ID로 사용자 요청
axios.get('/user?ID=12345')
  // 응답(성공)
  .then(function (response) {
    console.log(response);
  })
  // 응답(실패)
  .catch(function (error) {
    console.log(error);
  })
  // 응답(항상 실행)
  .then(function () {
    // ...
  });

// POST, DELETE, PUT...

3. Conclusion

image

image

image


React, Node(express), MySQL 을 이용하여 CRUD 시스템을 구현해보았다. React와 Hook, 주요 라이브러리 및 백엔드 관련해서 더 많은 공부가 필요하다고 느꼈다.