【发布时间】:2017-11-07 22:33:41
【问题描述】:
我正在尝试执行删除确认模式。
handleDelete (){
console.log('handleDelete')
const { something} = this.state
confirm({
title: 'Are you sure you want delete?',
content: 'Press Ok to continue, Cancel to return',
onOk () {
console.log('onOK')
this.setState({ something: [] })
}
})
}
按下删除按钮后,将显示确认模式。如果用户按确定,那么它将删除确认模式后面的内容。
但无法删除。我收到错误消息:
TypeError: this is undefined
在这一行:
this.setState({ something: [] })
是我试图在未安装的组件上设置状态吗? 那么正确的做法是什么呢?
【问题讨论】:
-
在确认代码之前尝试 var _this = this,并使用 _this 代替 this
-
我已经更新了我的问题 Jaromanda X。错误来自 this.setState({ something: [] }) 行。
-
是的,我怀疑是这样的
-
你应该使用箭头函数来保存
this。 -
在 javascript 中,@SLaks,这是一个箭头函数,在 javascript 文档中查找“lambda”不会引导您使用箭头函数 - 它需要将行
onOk () {更改为onOk: () => {
标签: javascript html reactjs react-native modal-dialog