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