【发布时间】:2017-01-23 16:51:28
【问题描述】:
我正在尝试在表格中添加一个删除按钮,以便获取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的上下文是否正确分配? -
切换到使用箭头函数,以便
this绑定到您的 React 组件。此外,在使用 React 的同时使用 jQuery 进行 DOM 操作是一种代码异味/反模式。 -
您必须将其绑定到类范围:这是一篇好文章:medium.com/@housecor/…
标签: javascript reactjs firebase