Reactjs 未捕获类型错误:无法读取属性';余额';未定义的

Reactjs 未捕获类型错误:无法读取属性';余额';未定义的,reactjs,forms,react-redux,onsubmit,Reactjs,Forms,React Redux,Onsubmit,我有5个状态对象,onSubmit函数用于提交一个包含5个更新状态对象的表单。onChange方法处理新状态并呈现到客户机列表页 下面是当我尝试提交表单时触发错误的类,它有五个更新状态。我的项目被连接到firestore,我无法缩小为什么balance对象未定义的范围 最终,onSubmit应将新客户端添加到客户端列表页面,并在firestore数据库中创建新客户端 有人能帮我解决这个问题吗?这是我第一次向stackoverflow发帖 import React,{Component}来自“R

我有5个状态对象,onSubmit函数用于提交一个包含5个更新状态对象的表单。onChange方法处理新状态并呈现到客户机列表页

下面是当我尝试提交表单时触发错误的类,它有五个更新状态。我的项目被连接到firestore,我无法缩小为什么balance对象未定义的范围

最终,onSubmit应将新客户端添加到客户端列表页面,并在firestore数据库中创建新客户端

有人能帮我解决这个问题吗?这是我第一次向stackoverflow发帖

import React,{Component}来自“React”;
从“react router dom”导入{Link};
从“redux”导入{compose};
从“react redux”导入{connect};
从“react-redux firebase”导入{firestoreConnect};
从“道具类型”导入道具类型;
类AddClients扩展组件{
建造师(道具){
超级(道具);
此.state={
名字:“,
姓氏:“,
电邮:“,
电话:“,
结余:“”
};
//如果不使用箭头函数,则在构造函数中绑定方法(初始化它)
this.onChange=this.onChange.bind(this);
this.onSubmit=this.onSubmit.bind(this);
}
onChange(e){
这是我的国家({
[e.target.name]:e.target.value
});
}
提交(e){
e、 预防默认值();
//const{firstName,lastName,email,phone,balance}=this.state;
const{newClient}=this.state;
const{firestore,history}=this.props;
如果(newClient.balance==“”){
newClient.balance=0;
}
火库
.add({collection:“clients”},newClient)
。然后(()=>history.push(“/”);
}
render(){
//const{firstName,lastName,email,phone,balance}=this.state;
//日志(名字、姓氏、电子邮件、电话、余额);
const{disableBalanceOnAdd}=this.props.settings;
返回(
返回仪表板
添加客户端
名字
姓
电子邮件
电话
均衡
);
}
}
AddClients.propTypes={
firestore:PropTypes.object.isRequired,
设置:PropTypes.object.isRequired
};
导出默认组合(
firestoreConnect(),
连接((状态、道具)=>({
设置:state.settings
}))
)(a)客户;

我认为你在这里做错了什么。行中的内部onSubmit函数

      const { newClient } = this.state;
您应该将其指定为

      const newClient = Object.assign({}, this.state);

这将创建This.state对象的副本并将其分配给newClient const。然后,您可以通过
newClient.balance

访问其属性。您可以共享您的代码吗欢迎使用堆栈溢出。请不要共享代码或堆栈跟踪的屏幕截图-请将它们作为文本发布。很高兴听到这个消息。那么你能接受我的回答吗?我很抱歉,我的回答迟了,非常感谢
      const newClient = Object.assign({}, this.state);