ReactJS如何定位'Each child in a list should have a unique 'key' prop'报错位置
定位React key prop报错具体位置的可落地方法
- 直接根据错误栈的提示定位:错误栈已经明确给出报错组件路径为
./src/PermissionTable.js,对应行号13、列号26,直接打开本地项目中该路径的文件,定位到对应行附近即可。通常该位置就是你写列表渲染map方法的代码段。 - 用React DevTools快速定位:安装浏览器React DevTools扩展,打开开发者工具的React组件面板,搜索
PermissionTable组件,工具会直接标红存在key属性问题的子节点,鼠标hover即可看到对应组件在原文件中的位置。 - 调整sourcemap配置保证映射准确:如果点击错误栈跳转后显示的是编译后代码,将开发环境webpack的
devtool配置改为eval-source-map,重启开发服务后再次触发报错,点击错误栈就能直接跳转至本地原文件的对应代码行。 - 临时排查法:直接遍历
PermissionTable.js内所有的列表渲染逻辑,所有用到array.map()返回JSX元素的代码段都是排查范围,逐一校验key属性即可快速定位问题。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

