Ajax (Asynchronous JavaScript and XML)
서버에 새로고침없이 요청을 할 수 있게 해준다
- 서버? 누군가 페이지 요청을 하면 페이지를 전송해주는 프로그램
- 요청? 여러 종류가 있으며
- GET : 특정 페이지 / 자료읽기 등 범용적. 주소에 값을 붙여서 보내는 것들
- POST : 주소에 값을 붙이지 않고, 암호같은 중요 정보 전달할 때 사용
- GET / POST 요청 할 때마다 항상 새로 고침됨.
ajax를 쓰면, 새로 고침없이 내용 수정 등이 가능하다.
- jQuery 설치해서, $.ajax() 사용
- axios 설치해서 axios.get() 사용
- 일반 자바스크립트 이용해서 fetch() 사용
이 강의는 2번 axios 설치해서 사용하기로
설치 : npm install axios
<button className="btn btn-primary" onClick={
()=> {
axios.get('https://codingapple1.github.io/shop/data2.json')
// ajax의 결과를 result에 담아둔다.
.then( (result)=> {
// 요청성공했을 때 처리할 내용
console.log(result.data); // result의 결과값
})
.catch( ()=> {
// 요청실패했을 때 처리할 내용
console.log("Failed");
})
}}>더 보기</button>
fetch를 이용해도 사용법이 거의 똑같나, JSON (JavaScript Object Notation) 데이터로 가져오나
axios를 쓰면, JSON을 object로 알아서 바꿔준다 <??>
받아온 데이터를 추가하기
.then( (result)=> {
// ajax로 받아온 결과물을 추가
// 복사본만들기위해, ... 사용, 대괄호를 벗겨라?
shoes변경( [...shoes, ...result.data ] );
})
받아오고나서, 같은 걸 호출하는걸 막기위해, 호출 url을 바꿔주면 된다.
post를 쓸수도있다.
axios.post('서버url', { id: 'aa', pw: 'bb' } )
Component내 Component 그리고 Compoenet?
가능하나 복잡해진다.
redux?
'프로그래밍&IT > React & CSS' 카테고리의 다른 글
Coding Apple, React 강좌 내용 정리.16 - Tab UI , animation (0) | 2021.11.03 |
---|---|
Coding Apple, React 강좌 내용 정리.15 - Component in Component , build 명령어 (0) | 2021.11.03 |
Coding Apple, React 강좌 내용 정리.13 - useEffect 훅(hook) (0) | 2021.11.03 |
Coding Apple, React 강좌 내용 정리.12 - styled-components (0) | 2021.11.03 |
Coding Apple, React 강좌 내용 정리.11 - 쇼핑몰 비슷하게 만들어 보기 4.Link, Switch, history , URL parameter (0) | 2021.11.02 |