当前位置: 首页 > 知识库问答 >
问题:

范围错误:最大调用堆栈大小已超出 React 本机

荆学民
2023-03-14

我使用https://formidable.com/open-source/urql/用于从React Native中的GraphQL服务器获取数据。

该组件的实现方式如下:

import React from "react"
import { View, Text } from "react-native"
import { HashtagsProps } from "./types"
import { useQuery } from "urql";

const HashtagsQuery = `
query {
    searchHashtags(input: {pattern: "vegan"}) {
      id
      name
    }
}  
`

export default function Hashtags({ navigation }: HashtagsProps) {

    const [result] = useQuery({
        query: HashtagsQuery
    })

    const { data, fetching, error } = result;

    if (fetching) console.log("loading");
    if (error) console.log(error.message);
    console.log(data)

    return (
        <View>
            <Text>Hashtags</Text>
        </View>
    )

} 

运行应用程序时,查询按预期工作,我从GraphQL服务器接收数据。

但是,控制台会显示错误消息:

未处理的promise拒绝,[RangeError:超出最大调用堆栈大小。]在node_modules/core-js/内部/host-report-errors.js:5:32module.exports在http://192.168.178.27:19000/node_modules/expo/AppEntry.bundle?platform=android

我用的是世博版^42.0.0.

我还尝试省略graphql查询,如下所示:

export default function Hashtags({ navigation }: HashtagsProps) {

   
    return (
        <View>
            <Text>Hashtags</Text>
        </View>
    )

}

并且错误消息不再出现。

我做错了什么?

共有1个答案

柯浩壤
2023-03-14

似乎你的查询每次都会尝试调用。你能帮我包装一下吗?然后,如果您有更新,您可以添加它使用效果部门。

 类似资料:
  • 如果我运行此代码,我会收到错误RangeError:超出最大调用堆栈大小。但为什么呢?当我用9调用它时就发生了,斐波那契在这么小的数字下应该不是问题。

  • 我刚刚开始使用角度2。所以我尝试使用Web服务从数据库显示类别。 这是我的论坛.服务.ts文件 forum.component.ts: forum.component.html: 请帮忙,先谢了

  • 我在react中工作,基本上我想做一个带工具提示的按钮,现在我正在做工具提示。我正在更改css显示属性,以使它在鼠标进入和离开时可见或不可见。但是有一个错误,我不知道该怎么办... 这是我的代码: 在控制台中,我收到了这个错误: 我找不到问题出在哪里。我知道这可能是关于调用一个函数,而这个函数又调用另一个函数。但是我在代码中看不到这样的东西,我不确定是否都是这样。谢谢帮助:)

  • 我在玩React,我得到了我想要的功能,但是由于某个地方的无限循环,它非常慢。我相信它在组件生命周期方法中,但我不知道如何重新格式化下面的代码,使其具有相同的功能,但没有无限循环。任何关于最佳实践的建议都将不胜感激。

  • 我是React的初学者。js并试图理解道具的概念 我有两个组件 - UserData.jsx UserDataResult.jsx 在UserData中。jsx我用过这个。用户记录的状态。我想通过子组件UserDataResult.jsx显示此记录。 不知道我做错了什么,所以我在控制台日志中得到错误。 错误是:未捕获的范围错误:超出最大调用堆栈大小 代码: **UserData.jsx** **用

  • 当我添加<代码>时 我得到错误 超过了最大调用堆栈大小 当然,如果我注释掉