갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • 원시타입
  • Arrow
  • prototype
  • 렉시컬 환경
  • 정적 레벨
  • SPREAD
  • structure
  • Babel
  • class
  • 호이스팅
  • ECMAScript
  • 실행 컨텍스트
  • 심볼
  • 함수
  • PM2
  • 상속
  • 이터러블
  • 컴파일러
  • 프로토타입
  • function
  • this
  • 오버라이딩
  • 자바스크립트엔진
  • symbol
  • 스코프 체인
  • 객체타입
  • 인터프리터
  • 싱글스레드
  • 네이밍
  • nodemon

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

Study/React

[React_study] Ajax (post, fetch)

2022. 6. 10. 00:49

* POST 요청

axios.post('URL', {name : 'kim'})
  • 실행시 서버로 { name: "kim" } 자료가 전송이 된다.
  • 완료시 특정 코드를 실행하고 싶으면 .then() 뒤에 붙이면 된다.

* 동시에 Ajax 요청 여러개 요청하기

Promise.all( [axios.get('URL1'), axios.get('URL2')] )
  • 위의 코드처럼 구성을 하게 되면 URL1, URL2로 GET요청을 동시에 해준다.
  • 둘 다 완료시 특정 코드를 실행하려면 .then() 뒤에 작성하면 된다.

* object/array 자료 전송

  • 원래 서버는 문자 자료만 주고 받을 수 있다.
  • 따라서 object/array 자료는 JSON형태로 전송을 보내야 한다.
    • JSON은 문자 취급을 받기 때문이다.
  • ex) "{ "name" : "kim" }"
  • axios 라이브러리는 JSON -> object/array 변환작업을 자동으로 해준다. 따라서 출력해보면 object/array가 나온다.

* fetch() 사용 예시 코드

fetch('URL')
  .then((response) => response.json())
  .then((response) => console.log(response));
  • JavaScript문법인 fetch()를 이용해도 GET/POST요청이 가능하다.
  • 하지만 JSON -> object/array로 자동으로 변경해주지 않기 때문에 별도의 변환 작업이 필요하다.
  • JSON.stringify() : 값이나 객체를 JSON 문자열로 변환
  • JSON.parse() : JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성

* fetch() 사용 예시 코드 (async, await)

  • async, await를 이용해서 api를 가져온뒤 useEffect를 이용하여서 api를 한번 호출해준다.
const getApi = async () => {
    const URL = 'api url'
    const response = await fetch(URL);
    const json = await response.json();
  };
  
useEffect(() => {
  getApi();
}, []);
  • 아래의 코드처럼 축약도 가능하다.
const getApi = async () => {
    const json = await (await fetch('api url')).json();
  };
  
useEffect(() => {
  getApi();
}, []);

'Study > React' 카테고리의 다른 글

[React_study] 컴포넌트 전환 애니메이션 지정 (transition & automatic batch)  (0) 2022.06.10
[React_study] if를 사용하지 않고 props를 사용하기  (0) 2022.06.10
[React_study] Ajax (서버와 통신)  (0) 2022.06.09
[React_study] useEffect (실행조건 & clean up function)  (0) 2022.06.09
[React_study] Lifecycle & useEffect  (0) 2022.06.09
    'Study/React' 카테고리의 다른 글
    • [React_study] 컴포넌트 전환 애니메이션 지정 (transition & automatic batch)
    • [React_study] if를 사용하지 않고 props를 사용하기
    • [React_study] Ajax (서버와 통신)
    • [React_study] useEffect (실행조건 & clean up function)
    갈푸라떼
    갈푸라떼

    티스토리툴바