是否可以获取React Native中错误的行号?

时间:2019-06-10 15:06:38

标签: javascript ios reactjs react-native error-handling

我正在编写一个React Native应用程序,但我发现iOS模拟器生成的错误消息从不指示代码中发生错误的行。在下面的屏幕截图中,我可以看到map()组件中的Dashboard函数存在问题,但是由于它没有给出行号,因此如果存在多个{{1 }}在map()中,我不知道如何隔离引发错误的错误。 我的问题是

谁能解释为什么在这种情况下React Native不会显示行号?这是否是React Native工作方式的固有属性,并且始终不可能识别给定的行(如果是,请尽可能详细地解释原因)?还是有一种方法可以改变我的应用程序以显示错误的行数?

谢谢!

enter image description here

2 个答案:

答案 0 :(得分:3)

在大多数情况下,答案是否定的。

您在此处共享的屏幕对于了解错误的来源几乎没有用。

您可以使用react native调试器获取有关状态/属性更改或任何异常的更多信息。堆栈跟踪也不会有太大帮助。您可以为开发环境编写自己的全局错误处理功能。还请记住,并非所有错误都是JS错误,某些错误也被本机模块抛出。

您还可以使用Sources选项卡设置断点并进行运行时调试,或者可以对整个脚本加黑框(如果适用)。 调试是React Native的主要缺点之一

答案 1 :(得分:1)

答案可能是,使用名为 Rollbar 的工具:

enter image description here

我无意推广任何工具,但是,这个工具似乎是免费的,因此可以被社区采用。它还可以捕获错误的行号!