Reactjs 中的 CRUD 更新操作不起作用
Crud update operation in Reactjs doesn't work
我正在做一个个人项目,我想使用 MVC、Reactjs 和 axios 作为前端来更新一些数据。有人可以帮我解决这个问题吗?在控制台中没有错误它不更新所选项目,顺便说一下更新操作在后端工作。
代码如下:
constructor(props){
super(props);
this.updateCar = this.updateCar.bind(this);
this.state = {
car: {
idCars: null,
carName: "",
carModel: "",
submitted: false
}
};
}
updateCar() {
DataService.update(this.state.car.idCars,this.state.car)
.then(response => {
console.log(response.data);
this.setState({
idCars: response.data.idCars,
carName: response.data.carName,
carModel: response.data.carModel,
submitted: true
});
this.props.history.push('/classement')
})
.catch(e => {
console.log(e);
});
}
<button onClick={()=>this.updateCar()} className="btn btn-success" style={{marginLeft:'35%'}}>
Submit
</button>
问题是我没有得到所选汽车的 ID,它是空的,所以这里是答案:
const updateCar = () => {
var data = {
id: car.idCars,
carName: car.carName,
carModel: car.carModel
};
DataService.update(this.props.match.params.id, data)
.then(response => {
setCar({
idCars: response.data.idCars,
carName: response.data.carName,
carModel: response.data.carModel
});
this.props.history.push('/classement')
})
.catch(e => {
console.log(e);
});
}
我正在做一个个人项目,我想使用 MVC、Reactjs 和 axios 作为前端来更新一些数据。有人可以帮我解决这个问题吗?在控制台中没有错误它不更新所选项目,顺便说一下更新操作在后端工作。
代码如下:
constructor(props){
super(props);
this.updateCar = this.updateCar.bind(this);
this.state = {
car: {
idCars: null,
carName: "",
carModel: "",
submitted: false
}
};
}
updateCar() {
DataService.update(this.state.car.idCars,this.state.car)
.then(response => {
console.log(response.data);
this.setState({
idCars: response.data.idCars,
carName: response.data.carName,
carModel: response.data.carModel,
submitted: true
});
this.props.history.push('/classement')
})
.catch(e => {
console.log(e);
});
}
<button onClick={()=>this.updateCar()} className="btn btn-success" style={{marginLeft:'35%'}}>
Submit
</button>
问题是我没有得到所选汽车的 ID,它是空的,所以这里是答案:
const updateCar = () => {
var data = {
id: car.idCars,
carName: car.carName,
carModel: car.carModel
};
DataService.update(this.props.match.params.id, data)
.then(response => {
setCar({
idCars: response.data.idCars,
carName: response.data.carName,
carModel: response.data.carModel
});
this.props.history.push('/classement')
})
.catch(e => {
console.log(e);
});
}