我正在编写一个React Native应用程序,但我发现iOS模拟器生成的错误消息从不指示代码中发生错误的行。在下面的屏幕截图中,我可以看到map()
组件中的Dashboard
函数存在问题,但是由于它没有给出行号,因此如果存在多个{{1 }}在map()
中,我不知道如何隔离引发错误的错误。 我的问题是:
谁能解释为什么在这种情况下React Native不会显示行号?这是否是React Native工作方式的固有属性,并且始终不可能识别给定的行(如果是,请尽可能详细地解释原因)?还是有一种方法可以改变我的应用程序以显示错误的行数?
谢谢!
答案 0 :(得分:3)
在大多数情况下,答案是否定的。
您在此处共享的屏幕对于了解错误的来源几乎没有用。
您可以使用react native调试器获取有关状态/属性更改或任何异常的更多信息。堆栈跟踪也不会有太大帮助。您可以为开发环境编写自己的全局错误处理功能。还请记住,并非所有错误都是JS错误,某些错误也被本机模块抛出。
您还可以使用Sources选项卡设置断点并进行运行时调试,或者可以对整个脚本加黑框(如果适用)。 调试是React Native的主要缺点之一
答案 1 :(得分:1)