我正在编写一个React Native应用程序,我发现iOS模拟器生成的错误消息从来没有指出代码中发生错误的那一行。在下面的截图中,我可以看到这是Dashboard
组件中的map()
函数的问题,但由于它没有给出行号,如果Dashboard
中有多个map()
示例,我不知道如何确定是哪一个抛出了错误。
所以我的问题是:为什么React Native在这种情况下不指示行号?这是React Native工作方式的固有属性,并且总是无法识别给定的行吗?或者,是否有一种方法可以以不同的方式构建应用,以便显示错误的行号?
2条答案
按热度按时间mec1mxoz1#
大多数情况下,答案为否。
您在这里分享的屏幕对于了解错误来自何处几乎没有什么用处。
你可以使用react native debugger来获取更多关于状态/属性变化或任何异常的信息。堆栈跟踪也不会有太大帮助。你可以为开发环境编写自己的全局错误处理函数。也要记住,不是所有的错误都是JS错误,有些也是由native模块抛出的。
你也可以设置断点,并使用源码标签进行运行时调试,或者你可以黑盒整个脚本,只要合适就行。
djp7away2#
使用名为Rollbar的工具,答案可能是Yes:
我并不是要推广任何工具,但是,这个工具似乎是免费的,因此可以被社区采用。它确实捕捉行号的错误以及!