React Native无法连接到Android中的SSE

2023-12-07

我正在使用该包:https://www.npmjs.com/package/react-native-sse

即使我从文档中复制粘贴代码,我也无法设法从 android 中的服务器接收事件。

import EventSource from "react-native-sse";

const es = new EventSource("https://your-sse-server.com/.well-known/mercure");

es.addEventListener("open", (event) => {
  console.log("Open SSE connection.");
});

es.addEventListener("message", (event) => {
  console.log("New message event:", event.data);
});

es.addEventListener("error", (event) => {
  if (event.type === "error") {
    console.error("Connection error:", event.message);
  } else if (event.type === "exception") {
    console.error("Error:", event.message, event.error);
  }
});

es.addEventListener("close", (event) => {
  console.log("Close SSE connection.");
});
  • 反应本机:v0.65.1
  • 反应本机-sse:v1.1.0

我怎样才能让它发挥作用?


原因是这样的:https://github.com/facebook/flipper/issues/2495

在reactNativeFlipper.java中,以下行使EventSource(SSE)不起作用。

解决方案一:

  • go to android/app/src/debug/java/com/<projectname>/ReactNativeFlipper.java
  • 像这样评论 NetworkFlipperPlugin :
client.addPlugin(CrashReporterPlugin.getInstance());

// todo commented because of this issue https://github.com/binaryminds/react-native-sse/issues/3 https://github.com/facebook/flipper/issues/2495
//       NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
//       NetworkingModule.setCustomClientBuilder(
//           new NetworkingModule.CustomClientBuilder() {
//             @Override
//             public void apply(OkHttpClient.Builder builder) {
//               builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
//             }
//           });
//       client.addPlugin(networkFlipperPlugin);
      client.start();

解决方案2:

如果你不想发表评论NetworkFlipperPlugin.

这个错误只发生在调试中,所以不要运行:

  • react-native run-android你必须运行:
  • react-native run-android --variant=release或者简单地在你的package.json
{
  // ...
  "scripts": {
    "android": "react-native run-android --variant=release", // here
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
  },
  // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Native无法连接到Android中的SSE 的相关文章

  • 在前台显示通知 React Native Firebase v6

    我正在使用最新的 React Native 版本 0 62 和最新版本的 React Native Firebase 即 v6 我能够收到通知 它在后台工作正常 但不显示在前台 Here is the screenshot 这是我的代码 c
  • React Native KeyboardAvoidingView 覆盖了最后的文本输入

    我正在使用 React Native键盘避开视图 https facebook github io react native docs keyboardavoidingview html行为设置为填充 在 Android 上测试 我的屏幕上
  • 检索设备信息 React-Native iOS

    嘿 我正在尝试从 iPad 获取设备信息 我尝试过使用https github com rebeccahughes react native device info https github com rebeccahughes react
  • 与对象反应 Native FlatList

    我想使用 React Native 的 FlatiList 渲染对象 但该组件没有返回预期结果 我的字典是这样的 Object Lisa Sky Object name Lisa surname Sky age 21 sex female
  • Android Studio首次启动时Android SDK不可用

    我一直在尝试安装 Android Studio 以便使用 Expo 创建 React Native 应用程序 当我尝试安装 Android Studio 并首次运行它时 我看到以下屏幕 请记住 我还没有单独安装 SDK 我不确定如何安装 我
  • React-Native 本机 Android 模块 - Toast 示例

    我正在尝试学习使用 android 本机模块并使用react native 文档中的 toast 示例 https facebook github io react native docs native modules android ht
  • 如何在 React Native 中截屏测试?

    我想使用屏幕截图测试我的 React Native 应用程序 UIAutomation javascript 文件将由以下命令执行fastlane https fastlane tools 并且应该向我提供我需要的所有子视图 这部分工作正常
  • 尝试添加 mailto - 反应本机

    Mailto 似乎无法正常工作 所发生的情况是图标似乎被按下 但没有发生任何操作 发出此警告 Warning Code
  • 在项目“:app”中找不到任务“prepareKotlinBuildScriptModel”

    I am getting this error while gradle sync This is react native project 我可以通过将此行添加到我的 build gradle 文件来解决此问题 task prepareK
  • 是什么原因导致本机反应缓慢?

    在下面的代码中 第一条 console log 消息几乎立即打印 然后一切都挂起 我最初假设它正在等待返回响应正文 响应的正文只有大约 26K 等待的时间似乎是不确定的 除非我摇动手机并与调试菜单交互 一旦我与调试菜单交互 承诺就会解决 一
  • 在 Flex 中,React Native 会溢出

    因此 对于上面的图像 我试图让 绿色 框包围动态文本 请注意蓝色和黄色文本框是如何在flex row 配置 蓝色文本框位于flex 2黄色是flex 1 一切工作正常 直到文本对于父容器来说太大 我希望绿色容器能够根据需要生长以适应弯曲的内
  • react-hook-form:检查未保存的更改

    我有一个由以下人员控制的预填写表格react hook form https react hook form com const control handleSubmit formState setValue reset useForm
  • 如何将 ColorFilter 与 React-Native-Lottie 一起使用?

    我似乎无法让 colorFilter 属性与我的 json 文件一起使用 没有错误 但颜色显然没有改变
  • 删除某些屏幕的顶部导航栏

    有没有办法仅删除特定屏幕的顶部导航栏 我正在使用反应导航 我已经尝试过以下操作 header visible false 但它只隐藏导航栏 导航栏的空间仍然无法使用 提前致谢 我用headerShown像这样标记 import React
  • React Native 弹出菜单移动选项框

    我有一个 React Native 弹出菜单 实现如下 import React Component from react import Text from react native import Icon Divider from rea
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • React - 如何在不使用构造函数的情况下访问道具

    注意 我在使用 React Native 时遇到了这个特定问题 但我想这也适用于 React 我有一个使用 React Component 构建的反应组件 我不需要设置状态 但我确实有道具 我建议的语法如下 class Header ext
  • React Native:相机流的多个预览

    我有一个要在 Android 和 iOS 中开发的 React Native 应用程序 我想在其中获取相机流 进行一些处理 然后多次渲染它 想象一下像 Instagram 这样的应用程序 您可以在其中实时向相机添加滤镜 并在实时预览中显示应
  • 无法解析“反应导航”

    当我安装并尝试使用react navigation 从 react navigation 导入 StackNavigator 时 我正在尝试react native并出现以下错误 Error https i stack imgur com
  • Apollo graphql 将标头设置为 authmiddleware 不起作用

    我正在使用react native和apollo客户端 如果我尝试通过存储在AsyncStorage中的jwt设置标头 它似乎不起作用 其他不需要标头的解析器工作得很好 我的代码如下所示 import ApolloClient from a

随机推荐