【问题标题】:TypeError - undefined is not an object (evaluating 'c.currentObservable.query.refetch'). in react nativeTypeError - undefined 不是一个对象(评估'c.currentObservable.query.refetch')。在本机反应
【发布时间】:2020-10-08 01:32:40
【问题描述】:

我的代码运行良好,但在快速引用并使用 refreshControl 刷新后,我在 React Native 中遇到了这个错误

TypeError - undefined 不是一个对象(评估 'c.currentObservable.query.refetch')。

Check error Image here

这是我的代码

const getTopics = useQuery(getAllTopicsSchema);
const [refreshing, setRefreshing] = React.useState<boolean>(false);
 <ScrollView
            refreshControl={
                <RefreshControl
                    refreshing={refreshing}
                    onRefresh={() => {
                        setRefreshing(true);
                        getTopics.refetch().then((res: any) => { setRefreshing(false)).finally(() => setRefreshing(false));
                    }} />
            }>
               {
                getTopics.data && getTopics.data.findAllTopic.map((res: Topic) => <View><Text>{JSON.stringify(res)}</Text></View>)
                }
</ScrollView>

【问题讨论】:

    标签: reactjs react-native react-hooks react-apollo


    【解决方案1】:

    我不确定这是否会有所帮助,或者您的问题是否有所不同,但我在遇到类似问题时找到了this reddit post,并且它已为我解决,因此我将其添加到此处以供未来或与 react native 和 apollo 有类似问题。

    正如评论所说,您需要检查您的 ApolloClient 配置:

    uri 不能是 localhost,而必须是您设备的本地 IP 地址。我花了好几个小时才弄明白。

    例如,如果您的配置类似于

    const client = new ApolloClient({
      ...configRest,
      uri: 'http://localhost:4000/graphql'
    })
    

    您需要将其更改为

    const client = new ApolloClient({
      ...configRest,
      uri: 'http://YOUR_IP_ADDRESS:4000/graphql'
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 2022-09-22
      • 2020-07-18
      相关资源
      最近更新 更多