React Native Expo Go useQuery @apollo/client 钩子在 IOS phone 上没有 运行 但 useLazyQuery 没有 return 结果

ReactNative Expo Go useQuery @apollo/client hook doesn't run on IOS phone but useLazyQuery doesnt return results

您好,我目前 运行 是一个带有 Ngrok 的 ApolloServer。 在网络上一切正常,但在我的 IOS phone 上我正在使用 ExpoGo 我的 graphql 拒绝 return 数据。

使用突变很好,而且效果很好。所有查询都在沙箱中工作。

如果我使用 useQuery 挂钩,ApolloServer 甚至不会收到查询(我在解析器中有一个 console.log)。如果我使用 useLazyQuery 服务器接收请求,解析器中的结果是正确的,但我的 IOS phone 似乎没有得到它。没有重新加载。

我不知道从这里还能去哪里。

//Basically 
import { useQuery } from '@apollo/client';

const [taskData, setTaskData ] = React.useState([]);

 const { loading, error, data } = useQuery(GET_TASKS, {
        onCompleted: (data) => setTaskData(data["getTasksById"]),
        variables: { userId: 1 }
    })

return (
        <View style={{ marginBottom: useBottomTabBarHeight() + 45 }}>
            <FlatList
                data={getFilterData()} //function where i filter items
                renderItem={({ item }) => <Task id={item.id} content={item.content} finished={item.finished} updateFinishedStatus={handlePress} />}
            />
        </View>
    )}
export const GET_TASKS = gql`
query GetTasksById($userId: ID) {
  getTasksById(id: $userId) {
    id
    content
  }
}`

和客户

    const apolloClient = new ApolloClient({
    cache: new InMemoryCache(),
    link: ApolloLink.from([errorLink, httpLink])
});

我遇到了完全相同的问题。我按照此处的建议使用旧版本的 Apollo Client 和 Graphql 设法解决了这个问题: