我正在尝试从我的 React Native 应用程序发出 API 请求。单独而言,该 api 可使用正确的 authToken,但在我的 React-Native 应用程序中却无法使用

问题描述 投票:0回答:1

每当我在网络浏览器上运行它时,都会收到一条错误消息,显示“未捕获错误。无法获取”这是导致问题的代码。

    useEffect(() => {
      const fetchTweets = async() => {
      const url = 'http://localhost:3000/tweet';
      const authToken =
        'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbklkIjozNX0.PhYEPigRB0Jpj6uW11-J8roshWrR4rfdfCPiXgS2gig'
      const res = await fetch(url, {
        headers: {
          Authorization: `Bearer ${authToken}`
        },
      })
      if (res.status !== 200){
        console.log('Error fetching the api')
      }
      const data = await res.json()
      console.log(data);
      setTweets(data)
    };

    fetchTweets();
  }, []);

我已确保服务器正在运行,甚至测试了它是否可以与 ThunderClient vsCode 扩展一起使用。请帮忙。

我去了chatGPT、copilot、youtube...我什至在我构建的后端初始化了CORS,但仍然没有任何结果。我在与后端集成的 Twitter 前端复制了 notJust.dev youtube 的视频。他从来没有遇到过这个错误,但现在我遇到了,而且无论我怎么尝试都无法解决它。我什至逐字克隆了他的存储库,但仍然不起作用。

typescript react-native localhost fetch-api prisma
1个回答
0
投票

const url = 'http://localhost:3000/tweet';
在 React Native 中不起作用,因为它将引用手机而不是本地计算机。

所以你必须使用ip地址。像下面这样的东西

http://192.168.43.87:3000/tweet

© www.soinside.com 2019 - 2024. All rights reserved.