Front/React

[React] AJAX

한비Skyla 2024. 7. 24. 12:40

- WEB 화면에서 무언가를 부르거나 데이터를 조회하고 싶은 경우, 페이지 전체를 새로고침 하지 않기 위해 사용. 

- 자바스크립트를 통해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능. 

- HTML 페이지 전체가 아닌 일부분만 갱신할 수 있도록 XMLHttpRequest 객체를 통해 서버에 Request 함. 

- 페이지의 부분을 동적으로 사용. 

 

💡 동기 vs 비동기

비동기 : 웹페이지를 리로드하지 않고, 데이터를 불러옴.

             서버에 요청을 한 후 멈추어 있는 것이 아닌 프로그램은 계속 돌아가고 있는 방식. 

동기 : 호출한 함수 또는 작업이 반환될 때까지 대기하는 동안 실행 흐름이 차단되는 특징. 

          한 작업이 지언되면 다른 작업들도 모두 지연되는 문제 발생. 

 

 

💡Promise 

자바스크립트에서 비동기적으로 실행하는 작업의 결과를 나타내는 객체. 

비동기의 결과를 객체화 시킴. 

해당 작업이 성공적으로 이행이 되었음 >> resolve 를 호출. 

오류 발생시 >> reject 를 호출. 

💡. then 

작업이 성공적으로 이행되었거나, 실패 했을 때, 어떠한 작업을 실행해야 되는데 이때 then 메서드에 의해 실행됨. 

then 메서드는 promise 객체를 리턴하고, 콜백 함수를 인수로 받는다.

그러면 지금 setFlightList 와 setIsLoading 이 콜백함수. 

 

getFlight 에서 condition 을 넣어서 함수 실행. 

 

> filterBy = {} 

자바 스크립트의 오브젝트는 key, value 를 가짐. 

빈 것이 들어올 때에는 {} 비어있는 채로 받겠다. 

filterBy.departure >> filterBy 에 departure 라는 key 가 있으면

조건에 맞는 내용 실행. 

 

departure 가 들어오는지, destination 이 들어오는지 에 따라 

해당 조건에 맞는 목록을 데리고 옴. 

 

 

 

JavaScript 비동기 처리를 위한 promise 이해하기

배경지식 JavaScript는 엔진은 Single Thread이다. 그래서 동시에 두 가지 작업을 할 수 없다. 그렇다면 여러 작업이 동시에 요청이 될 때 이 전 작업이 마무리 될 때까지 기다려야 하는가? 그렇다. 그래

velog.io

 

⭐️ SPA (Single Page Application)

- AJAX 를 통해 SPA 를 구현. 

- AJAX 를 통해 클라이언트는 필요한 데이터만 서버를 통해 비동기적으로 받고, 페이지의 일부만 동적으로 업데이트할 수 있다. 

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

[React] 상태 끌어올리기  (0) 2024.07.23
[React] BrowserRouter 컴포넌트 위치  (0) 2024.05.29
[React] 에러 Failed to save 'App.js'  (0) 2024.05.28