我正在构建一个我最近移到Expo的React-native应用程序。该应用程序似乎显示了预期的屏幕,但是在完成之前,我收到以下错误消息:console.error:“向您的开发环境发送日志消息时发生问题,{” name“:” Error“}”。在查看expo浏览器屏幕时,单击设备时会看到以下堆栈跟踪:
node_modules/expo/build/logs/LogSerialization.js:146:14 in _captureConsoleStackTrace
node_modules/expo/build/logs/LogSerialization.js:41:24 in Object.serializeLogDataAsync$
node_modules/regenerator-runtime/runtime.js:62:39 in tryCatch
node_modules/regenerator-runtime/runtime.js:288:21 in Generator.invoke [as _invoke]
node_modules/regenerator-runtime/runtime.js:114:20 in Generator.prototype.(anonymous
node_modules/regenerator-runtime/runtime.js:62:39 in tryCatch
node_modules/regenerator-runtime/runtime.js:152:19 in invoke
node_modules/regenerator-runtime/runtime.js:187:10 in <unknown>
node_modules/promise/setimmediate/core.js:45:4 in tryCallTwo
node_modules/promise/setimmediate/core.js:200:12 in doResolve
以下是错误的屏幕截图:
此错误是什么意思?我找到了一些文档,这些文档涉及删除console.log语句,并删除了我拥有的文档,但这没有帮助。
答案 0 :(得分:9)
今天早上我也遇到了这个奇怪的错误。我正在使用Expo Client开发本机,并使用流行的MERN堆栈(mongoDB,Express,React Native和Node.js)在React Native中进行开发。我要说的是,因为我使用了很多东西,所以我的意思是后端有很多控制台日志,到目前为止,这还没有给我造成任何问题。因此,就我而言,我不确定此错误是否源于我正在使用的任何console.log。我在控制台(端口19001)中检查了expo调试器的stacktrace,因为红色屏幕没有提供有关错误原因的大量信息(很多<unknown>
代替了函数),我看到了当我执行与后端通信的特定操作时,这与我的操作功能和要发送到我的减速器的有效负载有关。后端的响应格式如下:
payload: {
config: {
.
.
.
}
data: { the only part that i needed... }
headers: {
.
.
.
}
..other stuff from the response..
上面没有什么需要注意的,但这是
我感兴趣的实际工资单是在道具键data
下,并且是响应中我唯一需要的东西。但是,由于我的无知,我将一切都发送给了我的减速器。因此,我的意思是,我发送了一个很大的object
作为payload
,而我只需要其中的一部分。因此,当我进行一些销毁并保留上面提到的data
时,错误就消失了。
总而言之,对于其他可能偶然发现此“错误”(实际上不是错误)的人,bc应用程序不会崩溃或发生任何事情,因为当您执行某些操作时,您可以关闭窗口并且应用程序继续运行从服务器获取数据,请确保仅保留data
对象,而不保留整个response
对象,以及调用中的元数据。似乎redux-logger
抛出了这个bc,它不喜欢它的结构。
希望对您有帮助。
答案 1 :(得分:4)
为简化上述所有答案,仅当您记录的对象太大而无法显示控制台时,才会发生此问题。因此,当记录来自API或服务器的响应时,请确保添加JSON.stringify(result)。 这为我解决了这个问题。
答案 2 :(得分:3)
在将对控制台的提取调用的结果转储到Reply from <localhost>: Destination host unreachable.
时,始终出现此错误。
一旦使用过:
console.log(result)
问题消失了。
答案 3 :(得分:1)
由于其他原因,我也遇到了这个问题。
项目堆栈(对于该错误而言,重要的是什么):
expo: ^34.0.1
react-native: SDK 34
react-navigation: 4.0.5
react-navigation-drawer: ^2.2.1
在这个项目中,我没有使用react-redux
或axios
来使用实际网络中的graphql
,@apollo/react-hooks
和apollo-boost
来处理网络请求,本地状态管理。
如您在背景中所见,我正在使用react-navigation
。我根据React Navigation API
createDrawerNavigator
创建了一个抽屉式导航器
我想使用contentComponent
的{{1}}属性来创建自定义DrawerNavigatorConfig
。
我在唯一DrawerNavigatorItems
参数的contentComponent
属性中放置了匿名箭头功能。
我在上面提到的匿名箭头功能内放置了一个props
我在iOS模拟器上收到以下错误: `console.error:“向您的开发环境发送日志消息时出现问题”
请参见下面的代码:
console.log()
答案 4 :(得分:0)
我今天遇到了同样的问题,解决方法是添加 response.json()
fetch(endpoint, {
method: 'GET',
headers: {
Accept: 'application/json',
}
})
.then(response => response.json())
.then(response => {
console.log('response', response)
})
答案 5 :(得分:0)