Reactjs React-typeError:此.state为空

Reactjs React-typeError:此.state为空,reactjs,typeerror,Reactjs,Typeerror,我正在创建一个联系人管理器应用程序,我可以添加和删除联系人,但是我还没有添加编辑功能,我尝试构建一个编辑组件来编辑我的联系人,但是当我运行编辑组件时,我收到一个错误,说“this.state为null”,这是指向编辑组件的。。。 这就是我的编辑组件的外观 class EditContact extends Component { changeFirstName = (event) => { const { contact } = this.state;

我正在创建一个联系人管理器应用程序,我可以添加和删除联系人,但是我还没有添加编辑功能,我尝试构建一个编辑组件来编辑我的联系人,但是当我运行编辑组件时,我收到一个错误,说“this.state为null”,这是指向编辑组件的。。。 这就是我的编辑组件的外观

class EditContact  extends Component {  
    changeFirstName = (event) => {
        const { contact } = this.state;
         const newContact ={
            ...contact,
            firstName: event.target.value
        };
        this.setState({ contact: newContact });
    }
    changeLastName = (event) => {
        const { contact } = this.state;
        const newContact ={
            ...contact,
            lastName: event.target.value
        };
        this.setState({ contact: newContact });
    }
    changeEmail = (event) => {
        const { contact } = this.state;
        const newContact ={
            ...contact,
            email: event.target.value
        };
        this.setState({ contact: newContact });
    }
    changePhone = (event) => {
        const { contact } = this.state;
        const newContact ={
            ...contact,
            phone: event.target.value
        };
        this.setState({ contact: newContact });
    }
    changeBalance = (event) => {
        const { contact } = this.state;
        const newContact ={
            ...contact,
            balance: event.target.value
        };
        this.setState({ contact: newContact });
    }
    render() {
        return  (
          <>
            <Navbar />
            <div>
                <div className="row">
                    <div className="col-md-6">
                            <Link to="/" className="btn btn-link">
                                <i className="fas fa-arrow-circle-left"></i>Back To Contacts
                            </Link>
                            <br></br>
                            <p>
                                Need to Edit a few things about your Contacts, Go ahead and make all those changes here...!!!
                            </p>
                            <input
                             type="text"
                              onChange={this.changeFirstName}
                              value={this.state.contact.firstName} 
                            />
                            <input
                             type="text"
                              onChange={this.changeLastName}
                               value={this.state.contact.lastName}
                            />
                            <input
                             type="text"
                              onChange={this.changeEmail}
                               value={this.state.contact.email}
                            />
                            <input
                             type="text"
                              onChange={this.changePhone}
                               value={this.state.contact.phone}
                            />
                            <input
                             type="text"
                              onChange={this.changeBalance}
                               value={this.state.contactbalance}
                            />
                    </div> 
                </div>
            </div>
           </>
        );
    }
}
类EditContact扩展组件{
changeFirstName=(事件)=>{
const{contact}=this.state;
康斯特新联系人={
联系
名字:event.target.value
};
this.setState({contact:newContact});
}
changeLastName=(事件)=>{
const{contact}=this.state;
康斯特新联系人={
联系
lastName:event.target.value
};
this.setState({contact:newContact});
}
changeEmail=(事件)=>{
const{contact}=this.state;
康斯特新联系人={
联系
电子邮件:event.target.value
};
this.setState({contact:newContact});
}
changePhone=(事件)=>{
const{contact}=this.state;
康斯特新联系人={
联系
电话:event.target.value
};
this.setState({contact:newContact});
}
changeBalance=(事件)=>{
const{contact}=this.state;
康斯特新联系人={
联系
平衡:event.target.value
};
this.setState({contact:newContact});
}
render(){
返回(
返回联系人


需要编辑一些关于您的联系人的内容,请继续并在此处进行所有这些更改。。。!!!

); } }
您需要在类的构造函数中启动状态:

class EditContact  extends Component {
  constructor(props) {
    super(props) <== Not needed in latest react
    this.state = {
      contact: {},
      ...other
    }
  }

  // Rest of your component
类EditContact扩展组件{ 建造师(道具){
超级(道具)您没有在
构造函数中启动状态