如何将子组件输入值通过props传递给父级表单并解决相关报错
问题原因
你遇到的报错本质是代码尝试访问m15_19_reached属性时,该属性所属的父级对象未定义,属于典型的空对象属性访问异常。
排查修复方案
- 先检查
questions.js中的状态初始化逻辑,确认存储m15_19_reached的父级对象有没有设置默认值为{},如果默认值为undefined或者未做初始化,访问属性时就会触发该报错。 - 检查
PeopleReached组件向App组件传值的回调逻辑,确认传值时是否完整挂载了所有字段到对应父级对象上,没有遗漏父级对象的赋值操作。 - 可给属性访问增加可选链操作符做兼容处理,将原代码中直接访问属性的写法
xxx.m15_19_reached改为xxx?.m15_19_reached,即使父级对象为undefined也不会抛出异常,只会返回undefined。 - 如果你使用类组件的state管理表单状态,确认调用
setState更新状态时完整更新了整个父级对象,不要仅更新对象下的单个字段导致父级对象其他结构丢失。
内容的提问来源于stack exchange,提问作者Jetro Olowole
相关产品推荐
相关产品推荐

