错误:未定义不是对象(评估 \'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 下载了代码,用于使用pod
将React-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
没有在您的捆绑应用程序中定义。不能在undefined
或null
对象上调用对象的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')