【发布时间】:2018-05-04 10:42:20
【问题描述】:
我目前正在尝试使用 GraphQL 查询并使用 Apollo,在我的 React Native 应用程序上显示结果。
这里是App.js中的相关代码:
import {LoginScreen} from './src/Screens'
import ApolloClient from 'apollo-client';
import { ApolloProvider } from 'react-apollo';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
const myLink = new HttpLink({
uri: 'http://localhost:5000/graphql',
});
const client = new ApolloClient({
link: myLink,
cache: new InMemoryCache()
});
export default class App extends React.Component{
render() {
return(
<ApolloProvider client={client}>
<LoginScreen/>
</ApolloProvider>
)}
}'
这里是 LoginScreen.js 中的相关代码
function ShowUser({data: { loading, otsUserByUserId }}) {
if (loading) {
return <Text>Loading</Text>;
} else {
console.log("Ots user is " + otsUserByUserId)
console.log("Data: " + data)
return (
<View>
{otsUserByUserId.map(user =>
<Text>The name of user is {user.firstName} {user.lastName}.</Text>
)}
</View>
);
}
}
export default graphql(gql`
query otsUser{
otsUserByUserId(userId:1) {
firstName
lastName
}
}
`)(ShowUser)
这表明数据未定义并且是网络错误。所以我必须在前端的设置上做错了什么。在某种程度上,我没有正确使用 Apollo。似乎很明显,错误出现在我的 App.js 中,我定义客户端的方式,但我已经有一段时间无法让任何东西工作了,这让我发疯了。我找不到任何关于此的 SO 帖子。
我已经多次浏览了 Apollo 文档,并且几天来一直试图让某些东西工作。任何帮助深表感谢。感谢您的宝贵时间。
【问题讨论】:
标签: javascript react-native graphql apollo react-apollo