gpt4 book ai didi

javascript - 如何从 ReactJS 中的另一个方法运行 ajax 调用?

转载 作者:行者123 更新时间:2023-11-30 21:21:35 25 4
gpt4 key购买 nike

当我在其中一个子组件中选择 anchor 标记时,它调用 pageChange 使用 onClick 事件。这行得通。我想调用另一个方法来触发 ajax 调用以获取页面数据:

getPageData(slug){
axios.get('http://ajax-call.com/'+slug)
.then((response) => {
console.log( response );
})
.catch((error) => {
console.log(error);
});
}

pageChange(e){
var slug = e.target.getAttribute('data-link');

this.getPageData(slug);


e.preventDefault();
}

我收到错误消息 Cannot read property 'getPageData' of null 我想我需要将该方法绑定(bind)到 this 但我可能走错了路在这里。

最佳答案

您可能只需要按照您所说的绑定(bind)函数即可。有一个很好的快捷方式可以做到这一点:

pageChange = (e) => {
var slug = e.target.getAttribute('data-link');

this.getPageData(slug);

e.preventDefault();
}

这大致类似于在 componentDidMount 中绑定(bind)它:

componentDidMount() {
this.pageChange = this.pageChange.bind(this);
}

更多info about events on the React site如果您愿意阅读更多相关信息。

关于javascript - 如何从 ReactJS 中的另一个方法运行 ajax 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45133615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com