出现问题:
1、组件未成功渲染到网页上面
2、控制台报错:
错误类型:无法将 undefined 或 null 转换为对象
问题原因:
commentInfo在组件的props里面定义为Object类型,commentInfo.explain和commentInfo.images则是从接口里面传过来的。
当commentInfo对象里面没有explain、images属性的时候,commentInfo.explain、commentInfo.images的值则是undefined。
查MDN可知,Object.keys(obj)的参数是对象类型。
所以控制台报错,提示:无法将 undefined 或 null 转换为对象
解决问题:
从上面分析可以知道,无法用Object.keys(commentInfo.explain)和Object.keys(commentInfo.images)来判断commentInfo对象里面有没有存在explain、images属性。
所以我使用hasOwnProperty()方法来判断commentInfo对象里面有没有存在explain、images属性,从而决定是否渲染这两个数据。
如果你觉得我的文章还行,请点赞鼓励我一下,欢迎评论区交流