如何从axios内部调用函数,然后在下面是我的代码,它不能正常工作
handleClick(userid){
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
dispatch(this.buildhtml.bind(response))
})
}
buildhtml(response){
console.log("m called")
}
buildhtml函数没有执行!!任何想法
答案 0 :(得分:5)
您的代码无法正常工作,因为您的this
将使用您当前的实施方式未定义。
你能试试吗?
handleClick(userid){
var self=this;
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
self.buildhtml.bind(response) // would work
dispatch(self.buildhtml.bind(response)) //wont work
})
}
buildhtml(response){
console.log("m called")
}
现在我看到上面也不会工作,即使你把它改成自己。您正在尝试使用调度。在发送时,您需要传递操作。。 Reducers将state和action作为参数,并根据传递的操作更新状态。
现在,某个操作可能会返回一个对象或一个函数。请仔细阅读redux的概念。这不是应该分派行动的方式
答案 1 :(得分:3)