react-apollo getClient 未定义
react-apollo getClient is undefined
我使用 react-apollo 的方式似乎有误。按照文档,我正在尝试使用 Apollo 进行基本查询。这是我在查看页面时在浏览器中遇到的错误。 this.getClient 似乎未定义,无法调用 watchQuery。
react-apollo.browser.umd.js:417 Uncaught TypeError: this.getClient(...).watchQuery is not a function
at GraphQL.createQuery (react-apollo.browser.umd.js:417)
at GraphQL.setInitialProps (react-apollo.browser.umd.js:404)
at GraphQL.componentWillMount (react-apollo.browser.umd.js:260)
etc...
这是评论页面的代码。我创建了一个评论 React 组件,声明了一个调用 userInfo 查询的 graphql 标签,并导出了连接到下面评论页面的 graphql 标签。
import React from 'react'
import { graphql } from 'react-apollo';
import gql from 'graphql-tag'
class Review extends React.Component {...}
const userInfoQuery = gql`
query userInfoQuery{
userInfo {
_id
email
name {
first
last
}
isVerified
}
}`
const ReviewWithData = graphql(userInfoQuery)(Review)
export default ReviewWithData;
问题是我在 index.js 根文件中定义了错误的客户端。所以对于下面的代码,我导出的客户端实际上并不是正确的 Apollo 客户端。因此,第六次导入时的变量 client
导入了一些其他函数。学过的知识!本来应该多加小心的!
import React from 'react';
import { render } from 'react-dom';
import { BrowserRouter } from 'react-router-dom'
import { ApolloProvider } from 'react-apollo';
import App from './containers/app';
import client from './services/Apollo'
const CustomerFrontendApp = (
<ApolloProvider client={BitsyApollo.client}>
<BrowserRouter>
<App />
</BrowserRouter>
</ApolloProvider>
);
render(BitsyCustomerFrontendApp, document.getElementById('root'));
我使用 react-apollo 的方式似乎有误。按照文档,我正在尝试使用 Apollo 进行基本查询。这是我在查看页面时在浏览器中遇到的错误。 this.getClient 似乎未定义,无法调用 watchQuery。
react-apollo.browser.umd.js:417 Uncaught TypeError: this.getClient(...).watchQuery is not a function
at GraphQL.createQuery (react-apollo.browser.umd.js:417)
at GraphQL.setInitialProps (react-apollo.browser.umd.js:404)
at GraphQL.componentWillMount (react-apollo.browser.umd.js:260)
etc...
这是评论页面的代码。我创建了一个评论 React 组件,声明了一个调用 userInfo 查询的 graphql 标签,并导出了连接到下面评论页面的 graphql 标签。
import React from 'react'
import { graphql } from 'react-apollo';
import gql from 'graphql-tag'
class Review extends React.Component {...}
const userInfoQuery = gql`
query userInfoQuery{
userInfo {
_id
email
name {
first
last
}
isVerified
}
}`
const ReviewWithData = graphql(userInfoQuery)(Review)
export default ReviewWithData;
问题是我在 index.js 根文件中定义了错误的客户端。所以对于下面的代码,我导出的客户端实际上并不是正确的 Apollo 客户端。因此,第六次导入时的变量 client
导入了一些其他函数。学过的知识!本来应该多加小心的!
import React from 'react';
import { render } from 'react-dom';
import { BrowserRouter } from 'react-router-dom'
import { ApolloProvider } from 'react-apollo';
import App from './containers/app';
import client from './services/Apollo'
const CustomerFrontendApp = (
<ApolloProvider client={BitsyApollo.client}>
<BrowserRouter>
<App />
</BrowserRouter>
</ApolloProvider>
);
render(BitsyCustomerFrontendApp, document.getElementById('root'));