React Apollo 项目教程
1. 项目的目录结构及介绍
React Apollo 项目的目录结构如下:
react-apollo/
├── src/
│ ├── components/
│ ├── containers/
│ ├── hoc/
│ ├── queries/
│ ├── mutations/
│ ├── subscriptions/
│ ├── utils/
│ ├── index.js
├── examples/
│ ├── basic/
│ ├── advanced/
├── docs/
├── package.json
├── README.md
目录介绍:
src/
:包含项目的核心代码,包括组件、容器、高阶组件、查询、突变、订阅和工具函数。components/
:存放 React 组件。containers/
:存放连接到 Apollo 客户端的容器组件。hoc/
:存放高阶组件。queries/
:存放 GraphQL 查询。mutations/
:存放 GraphQL 突变。subscriptions/
:存放 GraphQL 订阅。utils/
:存放工具函数。index.js
:项目的入口文件。examples/
:包含项目的示例代码,分为基础和高级示例。docs/
:包含项目的文档。package.json
:项目的依赖和脚本配置文件。README.md
:项目的介绍和使用说明。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
,它负责初始化 Apollo 客户端并将其连接到 React 应用。
import React from 'react';
import ReactDOM from 'react-dom';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
import App from './App';
const client = new ApolloClient({
uri: 'https://api.example.com/graphql',
cache: new InMemoryCache()
});
ReactDOM.render(
<ApolloProvider client={client}>
<App />
</ApolloProvider>,
document.getElementById('root')
);
启动文件介绍:
ApolloClient
:初始化 Apollo 客户端,配置 GraphQL 服务器的 URI 和缓存。ApolloProvider
:将 Apollo 客户端连接到 React 应用。App
:主应用组件。
3. 项目的配置文件介绍
项目的配置文件是 package.json
,它包含了项目的依赖、脚本和其他配置信息。
{
"name": "react-apollo",
"version": "1.0.0",
"description": "React Apollo example",
"main": "src/index.js",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {
"@apollo/client": "^3.0.0",
"graphql": "^15.0.0",
"react": "^17.0.0",
"react-dom": "^17.0.0",
"react-scripts": "4.0.0"
},
"devDependencies": {
"eslint": "^7.0.0",
"prettier": "^2.0.0"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
配置文件介绍:
name
:项目名称。version
:项目版本。description
:项目描述。main
:项目入口文件。scripts
:包含项目的启动、构建、测试和弹出脚本。dependencies
:项目运行时的依赖。devDependencies
:开发时的依赖。browserslist
:指定项目支持的浏览器版本。