Apollo-like REST API와 React 및 Ketting 연결
12020 단어 reactjavascriptrestketting
그것은 로컬 상태 관리, 새로운 캐시 정책, (클라이언트) 중간부품 지원, 변경 이벤트 등 새로운 기능을 포함한다.이것도 첫 번째 버전으로 더 큰 BC가 휴식을 취하여 이 모든 일을 할 수 있다.
Ketting 6 발표는 개인적으로 큰 이정표입니다. 저는 그것을 세계에 발표하고 사람들이 그것을 어떻게 사용하는지 볼 수 있어서 정말 기쁩니다.지난 몇 달 동안 테스트를 해주신 모든 분들께 감사드립니다!
카이팅이 왜 그래?
간단히 말해서 Ketting은 Javascript의 공통 REST 클라이언트입니다.HTTP를 통해 JSON 객체를 푸시할 수 있지만 API는 모범 사례 및 표준 서식이 풍부할수록 자동으로 도움을 줍니다.
HAL, Siren, Collection + JSON, JSON: API 등 초매체 형식을 지원하며 HTML의 링크를 이해하고 추적할 수 있습니다.
사람들은 흔히 REST (초매체 API) 에 좋은 일반 클라이언트가 부족하다고 말한다.GraphQL에는 많은 장점이 있지만 하나의 주요 장점은 도구다.케이팅은 그 격차를 좁히는 데 목적을 두고 있다.
자세한 내용은 Github를 참조하십시오.
Ketting 6에서 반응 지원
Ketting은 현재 단독 react-ketting 패키지를 가지고 있으며, Ketting에 React 귀속을 제공할 수 있습니다.만약 이전에 사용한 적이 있다면, 이 귀속들은 매우 익숙해 보일 것입니다.
다음 예를 살펴보겠습니다.
"REST api가 있는 경우""article""끝점이 있습니다."그러면 다음과 같은 결과가 반환됩니다.
{
"title": "Hello world",
"body": "..."
}
이 문서는 GET
검색과 PUT
업데이트를 통해 다음과 같이 표시됩니다.import { useResource } from 'react-ketting';
export function Article() {
const { loading, error, data } = useResource('https://api.example/article/5');
if (loading) {
return <div>Loading...</div>;
}
if (error) {
return <div class="error">{error.message}</div>;
}
return <article>
<h1>{data.title}</h1>
<p>{data.body}</p>
</article>;
}
그런데 돌연변이는요?GraphQL과 달리 REST API의 변이는 통상GET
과PUT
와 같은 형식을 가지기 때문에 업데이트된 자원을 서버에 보내는 것은 변이한'데이터'를 의미하고 이를 보내는 것일 뿐이다.다음 예제에서는 사용자가 글을 편집하여 다시 보낼 수 있습니다.
import { useResource } from 'react-ketting';
export function Article() {
const { loading, error, data, setData, submit } =
useResource('https://api.example/article/5');
if (loading) {
return <div>Loading...</div>;
}
if (error) {
return <div class="error">{error.message}</div>;
}
const changeTitle = (title) => {
data.title = title;
setData(data);
};
const changeBody = (body) => {
data.body = body;
setData(data);
};
return <form onsubmit={() => submit}>
<input type="text" value={data.title} onChange={ev => changeTitle(ev.target.value) />
<textarea onChange={ev => changeBody(ev.target.value)}>{data.body}</textarea>
<button type="submit">Save!</button>
</form>;
}
내부 Ketting 캐시는 언제 호출되든지setData
새 자원 상태로 업데이트됩니다.이것은 자원 기반의uri 전역 저장소입니다.이것은 여러 개의 구성 요소가 같은uri에 사용되면
useResource
모든 구성 요소가 업데이트를 보고 다시 나타난다는 것을 의미한다.이것은 아폴로의 로컬 상태와 유사하지만, 단일 자원uri에 연결되어 있고, 최종적으로 저장할 수 있습니다.
submit()
를 호출할 때 data
는 다시 서열화되어 PUT
요청에 발송됩니다.Apollo Client
기타 변경된 상세하지 않은 목록
get()
현재 State
대상을 되돌려줍니다. put()
와 같은 함수는 매개 변수로 필요합니다.put()
상태 캐시가 자동으로 업데이트됩니다.post()
과 postFollow()
방법.text/*
응답을 더욱 잘 지원합니다.향후 계획
다음에 우리가 해야 할 두 가지 일은:
추가 링크
Reference
이 문제에 관하여(Apollo-like REST API와 React 및 Ketting 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/evertp/using-rest-apis-with-react-and-ketting-5hl7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)