要在React中访问Apollo GraphQL模型属性,您需要使用Apollo Client来执行GraphQL查询,并在组件中使用Hooks或高阶组件来订阅数据。
下面是一个使用Apollo Client和React Hooks的示例代码,用于访问GraphQL模型属性:
首先,安装所需的包:
npm install @apollo/client graphql
然后,创建一个Apollo Client并将其提供给React应用程序的入口点。在index.js文件中,添加以下代码:
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://your-graphql-api.com/graphql', // 替换为您的GraphQL API URL
cache: new InMemoryCache(),
});
ReactDOM.render(
,
document.getElementById('root')
);
接下来,在您的组件中使用useQuery Hook来执行GraphQL查询并访问模型属性。在App.js文件中,添加以下代码:
import React from 'react';
import { useQuery, gql } from '@apollo/client';
const GET_USER = gql`
query GetUser($id: ID!) {
user(id: $id) {
id
name
email
}
}
`;
const App = () => {
const { loading, error, data } = useQuery(GET_USER, {
variables: { id: '123' }, // 替换为您要查询的用户ID
});
if (loading) return Loading...
;
if (error) return Error: {error.message}
;
const { id, name, email } = data.user;
return (
User Details
ID: {id}
Name: {name}
Email: {email}
);
};
export default App;
在这个示例中,我们使用useQuery Hook执行名为GET_USER的GraphQL查询,并从返回的数据中提取所需的属性。如果数据正在加载中,我们将显示"Loading..."文本,如果出现错误,我们将显示错误消息。
要访问具体的模型属性,请将其添加到GraphQL查询中,并在组件中使用相应的属性。
请记住,您需要将示例代码中的URI替换为您的GraphQL API URL,并将variables中的ID替换为您要查询的实际ID。
这是一个简单的示例,您可以根据实际需求扩展和调整它。希望这可以帮助到您!