React 및 GraphQL을 사용하여 확장 가능한 API 인터페이스를 구축하는 방법
웹 애플리케이션의 복잡성이 계속 증가함에 따라 확장 가능한 API 인터페이스 구축이 점점 더 중요해지고 있습니다. React와 GraphQL은 효율적이고 유연하며 확장 가능한 API를 구축하는 데 도움이 되는 두 가지 널리 사용되는 기술입니다. 이 글에서는 React와 GraphQL을 사용하여 확장 가능한 API 인터페이스를 구축하는 방법을 살펴보고 구체적인 코드 예제를 제공합니다.
React는 사용자 인터페이스 구축을 위한 JavaScript 라이브러리입니다. 이는 인터페이스를 재사용 가능한 구성 요소로 분해하는 방법을 제공하므로 개발자는 복잡한 사용자 인터페이스를 쉽게 구축할 수 있습니다. GraphQL은 클라이언트가 필요한 데이터를 정확하게 얻을 수 있도록 설계된 쿼리 언어 및 런타임 환경입니다. 강력한 유형 시스템과 쿼리 언어를 통해 클라이언트와 서버 간의 데이터 교환에 유연성과 효율성을 제공합니다.
아래에서는 React와 GraphQL을 사용하여 확장 가능한 API 인터페이스를 구축하는 방법을 단계별로 소개합니다. Node.js를 백엔드 서버로 사용하고 Express.js를 서버 프레임워크로 사용합니다.
1단계: 필요한 종속성 설치
먼저 React 및 GraphQL에 대한 관련 종속성을 설치해야 합니다. 명령줄에서 npm 또는 Yarn을 사용하여 다음 종속성을 설치합니다.
npm install react react-dom graphql express express-graphql
2단계: Express 서버 설정
다음으로 Express 서버를 설정하고 GraphQL 엔드포인트를 생성하겠습니다. 프로젝트의 루트 디렉터리에 server.js라는 파일을 생성하고 다음 코드를 추가합니다.
const express = require('express'); const { graphqlHTTP } = require('express-graphql'); const { buildSchema } = require('graphql'); // 创建GraphQL schema const schema = buildSchema(` type Query { hello: String } `); // 定义GraphQL resolver const root = { hello: () => 'Hello, World!' }; // 创建Express app const app = express(); // 设置GraphQL端点 app.use('/graphql', graphqlHTTP({ schema: schema, rootValue: root, graphiql: true })); // 启动服务器 app.listen(4000, () => { console.log('GraphQL server is running at http://localhost:4000/graphql'); });
위 코드에서는 먼저 buildSchema
함수를 사용하여 간단한 GraphQL 스키마를 생성했습니다. hello
라는 쿼리 필드가 정의되었습니다. 그런 다음 쿼리 필드에 대한 파서 함수가 포함된 root
개체를 만듭니다. 마지막으로 Express 애플리케이션을 생성하고 graphqlHTTP
미들웨어를 사용하여 GraphQL 엔드포인트를 설정했습니다. buildSchema
函数创建了一个简单的GraphQL schema,其中定义了一个名为hello
的查询字段。然后,我们创建了一个root
对象,其中包含了查询字段的解析器函数。最后,我们创建了一个Express应用程序并使用graphqlHTTP
中间件设置了GraphQL端点。
第三步:创建React组件
在项目的根目录下,创建一个名为App.js的文件,添加以下代码:
import React from 'react'; import { gql, useQuery } from '@apollo/client'; // 定义GraphQL查询 const GET_HELLO = gql` query { hello } `; function App() { const { loading, error, data } = useQuery(GET_HELLO); if (loading) return <p>Loading...</p>; if (error) return <p>Error :(</p>; return ( <div> <h1>{data.hello}</h1> </div> ); } export default App;
在上述代码中,我们使用了@apollo/client
库来执行GraphQL查询。我们定义了一个名为GET_HELLO
的查询,并使用useQuery
钩子来执行该查询。根据查询结果的不同状态,我们返回不同的组件。
第四步:渲染React应用
在项目的根目录下,编辑index.js文件并添加以下代码:
import React from 'react'; import ReactDOM from 'react-dom'; import { ApolloProvider, ApolloClient, InMemoryCache } from '@apollo/client'; import App from './App'; // 创建Apollo客户端 const client = new ApolloClient({ uri: 'http://localhost:4000/graphql', cache: new InMemoryCache() }); ReactDOM.render( <React.StrictMode> <ApolloProvider client={client}> <App /> </ApolloProvider> </React.StrictMode>, document.getElementById('root') );
我们使用@apollo/client
库创建了一个Apollo客户端,并设置了GraphQL端点的URL。然后,我们使用ApolloProvider
프로젝트의 루트 디렉터리에 App.js라는 파일을 생성하고 다음 코드를 추가합니다.
npm start위 코드에서는
@apollo/client GraphQL 쿼리를 실행하는 라이브러리입니다. <code>GET_HELLO
라는 쿼리를 정의하고 useQuery
후크를 사용하여 쿼리를 실행합니다. 쿼리 결과의 상태에 따라 다른 구성 요소를 반환합니다. 4단계: React 애플리케이션 렌더링 프로젝트의 루트 디렉터리에서 index.js 파일을 편집하고 다음 코드를 추가합니다.
rrreee
@apollo/client
를 사용하여 Apollo 클라이언트를 생성했습니다. > library , GraphQL 엔드포인트의 URL을 설정합니다. 그런 다음 ApolloProvider
구성 요소를 사용하여 Apollo 클라이언트를 React 애플리케이션에 바인딩했습니다. 🎜🎜5단계: 애플리케이션 실행 🎜명령줄에서 다음 명령을 사용하여 애플리케이션을 시작합니다. 🎜rrreee🎜이제 http://localhost:4000/graphql에 액세스하고 http://에 액세스하여 GraphQL 인터페이스를 볼 수 있습니다. /localhost:3000을 사용하여 React 애플리케이션에 액세스합니다. 🎜🎜결론🎜이 글에서는 React와 GraphQL을 사용하여 확장 가능한 API 인터페이스를 구축하는 방법을 설명합니다. React 및 GraphQL용 샘플 코드를 통해 Express 서버를 설정하고, GraphQL 스키마 및 해석기를 생성하고, React 애플리케이션에서 GraphQL 쿼리를 실행하는 방법을 보여줍니다. React와 GraphQL을 사용하면 효율적이고 유연하며 확장 가능한 API 인터페이스를 구축하여 확장성 요구 사항을 더 잘 충족할 수 있습니다. 🎜위 내용은 React와 GraphQL을 사용하여 확장 가능한 API 인터페이스를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!