错误:未定义不是对象(评估 \'RCTWebSocketManager.connect\')

Posted

技术标签:

【中文标题】错误:未定义不是对象(评估 \\\'RCTWebSocketManager.connect\\\')【英文标题】:Error: undefined is not an object (evaluating \'RCTWebSocketManager.connect\')错误:未定义不是对象(评估 \'RCTWebSocketManager.connect\') 【发布时间】:2015-09-01 11:55:57 【问题描述】:

我正在使用React-native v0.10.0 并获得此屏幕:

好的,所以我发现我做错了什么。

所以我从这个official React-native website 下载了代码,用于使用podReact-native 集成到现有应用程序中。

下载的代码使用React-native v0.2.1,那里的一切看起来都很好。 所以我复制了整个代码并覆盖了我的,但红屏仍然出现。它给我留下了React-nativeץ 的变化

React-native v0.10.1 的当前版本是否有可能根本不起作用? :/

提前致谢!

【问题讨论】:

没有什么好建议,但我基本上把我的文件堆起来,在从 0.4.0 升级到 0.9.0 后做了一个新的 react-native init 修复它...... 我没有使用 react-native 和 react-native init <project-name> 我通过 cocoapod 使用它 【参考方案1】:

我也成功地将pod 'React/RCTWebSocket' 添加到Podfile 并再次运行pod install

【讨论】:

谢谢,但你刚刚在你的项目中添加了一个不推荐使用的代码:/ github.com/tptee/RCTWebSocket 恐怕故障排除页面也已经过时了; facebook.github.io/react-native/docs/… 我也遇到了这个问题,通过@jrnk 提出的解决方案解决了 将这些添加到 pod 文件中: pod 'React/RCTNetwork' pod 'React/RCTWebSocket'【参考方案2】:

这个问题是因为RCTWebSocketManager 没有在您的捆绑应用程序中定义。不能在undefinednull 对象上调用对象的connect 方法。

要在 ios 中解决此问题,请为您的应用目标打开 Build Phases 并确保 Link Binary with Libraries 部分中存在 libRCTWebSocket.a。如果该项目未列出且不可添加,则将 RCTWebSocket.xcodeproj 添加到 Xcode 中应用的 Libraries 文件夹并尝试再次链接。

【讨论】:

【参考方案3】:

这可能看起来相当琐碎,但请检查以确保您已从应用程序的 node_modules 目录中 react-native-router 目录中的 node_modules 目录中删除 react-native。如果再次列出 react-native,应用程序将抛出错误。

我曾多次遇到此问题,这就是导致错误的原因。

【讨论】:

以上是关于错误:未定义不是对象(评估 \'RCTWebSocketManager.connect\')的主要内容,如果未能解决你的问题,请参考以下文章

类型错误“未定义”不是对象(评估“navigator.connection.type”)

如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误?

EXPO:未捕获的错误:未定义不是对象(评估's.STANDARD_EVENT_ADD_TO_CART')

TaskQueue:任务错误:未定义不是反应原生的对象(评估'_this.view._component.measureInWindow')

类型错误:未定义不是对象(评估“data.graphics.dvd”)

错误:未定义不是 ReactNative 中的对象(评估“db.transaction”)