gpt4 book ai didi

javascript - setState 不是一个函数

转载 作者:行者123 更新时间:2023-11-28 10:46:26 25 4
gpt4 key购买 nike

我正在尝试向表中添加一个删除按钮,以便获取el.id 并将其删除。我无法读取 el.id,因此我想将其添加到状态中。

请告诉我是否有其他解决方案或是否可以修复。

这是我的代码:

componentDidMount: function(){
var url = 'I have an api here'

axios.get(url).then(function(response){
var arr = $.map(response.data, function(el) {
$.each(el, function (i, word) {
this.setState({el: el});
$("#data").append(
'<tr><td>' + el.name + '</td><td>' + el.email + '</td><td>' + el.category + '</td><td>' + el.address + '</td><td>' + '<button onClick={console.log(el)} class="btn btn-primary">delete</button>'
);
});
});
$('body').addClass('stop-scrolling');
})
},

最佳答案

您在回调函数内调用 this.setState,因此 this 不会达到预期的上下文。

您可以将 this 的值存储在变量中:

componentDidMount: function(){
var url = 'I have an api here';
var self = this;

axios.get(url).then(function(response){
var arr = $.map(response.data, function(el) {
$.each(el, function (i, word) {
self.setState({el: el});
$("#data").append('<tr><td>' + el.name + '</td><td>' + el.email + '</td><td>' + el.category + '</td><td>' + el.address + '</td><td>' + '<button onClick={console.log(el)} class="btn btn-primary">delete</button>');
});
});
$('body').addClass('stop-scrolling');
})
},

或者你可以使用箭头函数来解决你的问题

关于javascript - setState 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811495/

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