Rxjs를 사용하는 React 또는 Vue의 API 서비스
- 설명
1. Angular에서 서비스란 무엇입니까?
서비스는 서로 모르는 클래스 간에 정보를 공유할 수 있는 좋은 방법입니다. 서비스를 사용하면 다음을 수행할 수 있습니다.
왜 Rxjs
RxJS는 모든 프레임워크 또는 Pure Javascripta와 함께 사용할 수 있습니다.
이는 다음 코드가 Vue.js 또는 바닐라에서 작동함을 의미합니다.
RxJS는 관찰 가능한 시퀀스를 사용하여 비동기 및 이벤트 기반 프로그램을 구성하기 위한 라이브러리입니다.
RxJS는 수학, 변환, 필터링, 유틸리티, 조건부, 오류 처리, 반응형 프로그래밍과 함께 사용할 때 삶을 쉽게 만들어주는 조인 범주에서 방대한 연산자 모음을 제공합니다.
3. React 또는 Vue에서 서비스를 만드는 방법
$ npm install axios rxjs axios-observable
services
.또한 src/srvices에 생성합니다. 원하는 모든 위치에 생성하는 것은 중요하지 않습니다.
.ts
또는 .js
파일 만들기import Axios, { AxiosObservable } from "axios-observable";
class TaskService {
private static _instance: TaskService;
public static get Instance() {
return this._instance || (this._instance = new this());
}
/////...code here
}
export const _TaskService=TaskService.Instance;
그래서 여기서 우리는 나중에 사용할 수 있도록 싱글톤 클래스를 만듭니다
task.ts
. 또한 각 구성 요소에서 클래스의 개체를 만드는 것보다 낫습니다.3. API 호출을 작성하면 간단하게 작성하겠습니다
Subjects
.import Axios, { AxiosObservable } from "axios-observable";
class TaskService {
private static _instance: TaskService;
public static get Instance() {
return this._instance || (this._instance = new this());
}
indexTask():AxiosObservable<any> {
return Axios.get<any(`https://example.com/api/index`);
}
showTask(id:number):AxiosObservable<any> {
return Axios.get<any(`https://example.com/api/show/${id}`);
}
storeTask(data:any):AxiosObservable<any> {
return Axios.post<any(`https://example.com/api/store`,data);
}
updateTask(id:number,data:any):AxiosObservable<any> {
return Axios.put<any(`https://example.com/api/update/${id}`,data);
}
deleteTask(id:number):AxiosObservable<any> {
return Axios.delete<any(`https://example.com/api/delete/${id}`);
}
}
export const _TaskService=TaskService.Instance;
그리고 우리는 여기서 끝났습니다.
4. React 컴포넌트에서 Service를 사용하는 방법
import { useEffect, useState } from "react";
import { _TaskService } from "src/services/Task.Service";
const Tasks = () => {
const [tasks, settasks] = useState([]);
useEffect(() => {
_TaskService.indexTask().subscribe({
next: (res) => settasks(res.data),
error: (err) => console.log(err.response),
complete: () => {},
});
return () => {};
}, []);
return (
<div>
{tasks.map((task: any, index: number) => {
return <div key={index} > {task.name} </div>;
})}
</div>
);
};
export default Tasks;
끝....
React 또는 Vue로 전환하는 Angular 개발자라면 이것을 발견하게 되어 기쁠 것입니다.
그렇지 않은 경우 Rxjs, 특히 주제 및 연산자에 대해 읽어 보시기 바랍니다.
유용한 링크 🔗
https://rxjs.dev/
자오시양 / 축 관찰 가능
rxjs 방식으로 축을 사용합니다. Promise 대신 Observable 사용
축 관찰 가능
브라우저 및 node.js용 Observable(Promise와 반대) 기반 HTTP 클라이언트
rxjs(observable) 방식으로 axios를 사용하고 싶습니까? 우리는 거기에 갈!
axios-observable의 이 API는 axios의 API와 거의 동일하여 원활한 전환을 제공합니다. 따라서 문서는 axios 중 하나를 반영합니다(몇 가지 예외는 지적될 것입니다).
특징
설치 중
npm 사용
참고:
CRUD
및 axios
는 피어 종속성입니다.$ npm install axios rxjs axios-observable
예시
rxjs
요청 수행import Axios from 'axios-observable'; // or const Axios = require('axios-observable').Axios; // Make a request for a user with a given ID Axios.get('/user?ID=12345') .…
View on GitHub
.
Reference
이 문제에 관하여(Rxjs를 사용하는 React 또는 Vue의 API 서비스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chrollo4ki/api-services-in-react-or-vue-using-rxjs-3lj7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)