当您成功完成发布但没有任何进一步的成功时,我已经尝试更改状态。
saveOnClick = () => {
axios.put('http://localhost:8080/lagbevakning/revision', {
revisionId: 36,
subscriptionId: 21549450,
})
.then(function (response) {
alert("You've sucessfully managed to do that")
/* here i wish to close the modal */
})
.catch(function (error) {
console.log(error)
alert("something went wrong")
})
}
state = {
open: false /* if true, modal is open */
}
close = () => this.setState({ open: false })
任何有关在成功的axios发布后如何关闭模式的建议,将不胜感激。
答案 0 :(得分:0)
正如@Quentin所指出的,then
中的上下文是错误的。因此,您需要将this
的引用保留到单独的变量(或常量)中。
执行以下操作:
saveOnClick = () => {
const self = this;
axios.put('http://localhost:8080/lagbevakning/revision', {
revisionId: 36,
subscriptionId: 21549450,
})
.then(function (response) {
alert("You've sucessfully managed to do that")
/* here */ self.close();
/* here i wish to close the modal */
})
.catch(function (error) {
console.log(error)
alert("something went wrong")
})
}
答案 1 :(得分:0)
使用箭头函数而不是使用函数
进行调用