constructor() {
super();
this.state={
_id:"",
Name:"",
Age:"",
isEdit:false
}
}
Old Code
componentWillReceiveProps(props){
if(props.setForm._id != null){
this.setState({
isEdit:true,
_id:props.setForm._id,
Name:props.setForm.Name,
Age:props.setForm.Age
})
}
}
After changing
static getDerivedStateFromProps(nextProps, prevState) {
console.log(nextProps.setForm.Name);
if(nextProps.setForm._id !== null)
{
return{
isEdit:true,
_id:nextProps.setForm._id,
Name:nextProps.setForm.Name,
Age:nextProps.setForm.Age
}
}
return null
}
I don't know what I did wrong. Form creation is working but when I click to edit the input field is not allowing me to edit. The error code is
index.js:1 Warning: A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component.