错误:无法在获取方法中读取属性“setState”
2019-07-19
73
我创建了一种方法,用于处理通过 API 存储数据的表单提交。我想在成功存储数据后显示 snackbar。但是这总是显示错误:无法读取属性“setState”。但是错误消息标记在行 fetch(" http://localhost/lumen/udemy-react-api/public/api/departments " 而不是在行 this.setState。请帮我找出问题所在。我在这个问题上卡了 2 个小时。
handleSubmit(event) {
event.preventDefault();
fetch("http://localhost/lumen/udemy-react-api/public/api/departments", {
method: "POST",
headers: {
Accept: "application/json",
"Content-type": "application/json"
},
body: JSON.stringify({
id: null,
name: event.target.name.value
})
})
.then(response => response.json())
.then(result =>
this.setState({ snackbaropen: true, snackbarmsg: result.message })
)
}
1个回答
您遇到了调用上下文问题
尝试将
handleSubmit()
方法绑定到构造函数中的
this
class MYclass {
constructor(){
this.handleSubmit = this.handleSubmit.bind(this)
}
handleSubmit(event) {
event.preventDefault();
.....
}
charlietfl
2019-07-19