RN 报错信息总结
我使用的是 VScode 编辑器,有时候,卸载包,安装包就会编译失败,解决方式
gradlew clean
编译错误 Execution failed for task ':app:compileDebugJavaWithJavac'.
这个问题吧,就是我引入 react-native-dialogs产生的错误 ,因为安装这个包关联到超过6万多个包的下载,导致程序报64K限制错误,我当时看了一下,为了使用这一个方法和效果,增加整个项目的负担,完全没必要,我就卸载了,但在卸载之前,我手贱,运行了一条 react-native link XXX这个命令,导致手动添加了这个包。所以后面我yarn remove 包 ,还是没删掉。之后就报编译错误。这个时候报错信息不全,根本找不到问题所在,此时需要运行,下面这条命令,我看到了详细报错信息。
gradlew compileDebugSources --stacktrace -info
我就找到那个位置 ,将那个手动link进去的包 ,手动删除掉。
Warning: Each child in a list should have a unique "key" prop.
产生这种错误就两种
第一 ,使用map这类函数时,没有给最外层绑定 key值
第二,使用FlatList时,keyExtractor时,绑定key的函数没有附上值,比如像下面
<FlatList data={this.state.dynamicData} renderItem = {(item)=>this.renderArticleItem(item)} keyExtractor={item => item.id} // 如果item.id=undefined时,就会报错,没有key //修改成 item.artId />