如何在本机反应中在控制台中显示整个对象

Posted

技术标签:

【中文标题】如何在本机反应中在控制台中显示整个对象【英文标题】:how to display the entire object in console in react native 【发布时间】:2018-11-27 00:22:23 【问题描述】:

我最近开始做 react native 并且不明白如何调试以便在控制台中获得我的结果。 这是我在控制台中得到的结果。

Organizations is [object Object]

我如何获得组织的所有内容。 我在控制台代码中这样做了。

console.log('Organizations is '+organizations);

【问题讨论】:

你试过console.log(organizations);吗?或在这里***.com/questions/41336663/… 不一样吗? @satyajeetjha:不,不是,请看我的答案以作解释 【参考方案1】:

你可以stringify它。

console.log(JSON.stringify(organizations));

如果你想要一些格式

console.log(JSON.stringify(organizations, null, 2));

【讨论】:

这绝对应该是公认的答案;漂亮的打印(第二个代码块)正是我遇到相同问题时所寻找的。 +1【参考方案2】:

大多数控制台会查看它们传递的参数并显示它的智能渲染,因此您可能希望直接提供 organizations 而不是将其与字符串连接(这将调用对象的默认 toString 行为,这是"[object Object]",如果你没有做一些特别的事情)。大多数还支持多个参数,所以你可以这样做

console.log("Organizations is", organizations);

...查看您的标签和智能渲染。

不过,另请参阅 this question's answers 关于控制台渲染。

【讨论】:

这是最好的答案,因为它不需要额外的依赖(例如JSON【参考方案3】:

如果您尝试使用字符串记录,控制台会尝试自动将您的对象转换为字符串定义。

所以要么单独记录字符串:

console.log('Organizations is');
console.log(organizations);

或者您需要先将对象转换为可读格式,例如JSON:

console.log(JSON.stringify(organizations));

【讨论】:

【参考方案4】:

let organizations = name: 'McD'

console.log(organizations)//Without type coercion
console.log('organizations is '+organizations);//Forcefully to convert object to become a string

console.log('Organizations is '+organizations); 的问题在于类型强制。您正在将字符串('Organizations is ')与强制将对象转换为字符串的对象(组织)组合/连接。

【讨论】:

【参考方案5】:

这里是打印对象而不发疯的所有方法。 Print object in javascript

console.log('Organisations is : ' + JSON.stringify(organisations));

【讨论】:

虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。有关如何编写更好“基于链接”的答案的说明,请参阅here。谢谢! 添加了与答案相关的基本信息。【参考方案6】:

使用下面的代码在 react-native 中打印对象

<View> (()=> console.log(object) )() </View>

【讨论】:

【参考方案7】:

ES6 语法中,您可以执行以下操作:

console.log(`Organisations is : $JSON.stringify(organisations)`);

【讨论】:

以上是关于如何在本机反应中在控制台中显示整个对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中为整个应用程序(如每个屏幕)在屏幕底部显示自定义视图

无法在我的反应本机应用程序中清理订阅

在本机反应中从 json 对象访问特定数据

Firebase Cloud Messaging 令牌在没有第三方库的情况下本机反应

Firestore 没有从反应本机日历中获取字符串

如何检测是不是在本机反应中显示警报?