Javascript 未捕获类型错误:无法读取属性';parentNode';未定义的
我以前从未得到过这个,我只能假设它无法找到它试图渲染的Javascript 未捕获类型错误:无法读取属性';parentNode';未定义的,javascript,backbone.js,reactjs,Javascript,Backbone.js,Reactjs,我以前从未得到过这个,我只能假设它无法找到它试图渲染的div元素?这是没有意义的,因为当Iconsole.log事件激发之前和之后出现问题的元素都存在,但会抛出错误 下面是一个主干视图-呈现一个reactjs组件,我们传入deleteEvent:this.handleDeleteEvent.bind(this),它允许我们在一行中单击delete,它将弹出事件并遍历,基本上重新调用集合并重新呈现组件 但是引起当前问题的是React.renderComponent(): AisisWriter.V
div
元素?这是没有意义的,因为当Iconsole.log
事件激发之前和之后出现问题的元素都存在,但会抛出错误
下面是一个主干视图-呈现一个reactjs组件,我们传入deleteEvent:this.handleDeleteEvent.bind(this)
,它允许我们在一行中单击delete,它将弹出事件并遍历,基本上重新调用集合并重新呈现组件
但是引起当前问题的是React.renderComponent()
:
AisisWriter.Views.PostIndex = AisisWriter.Views.CoreView.extend({
writer_posts: new AisisWriter.Collections.Posts(),
handleDeleteEvent: function(id){
var toDelete = new AisisWriter.Models.Post();
toDelete.set({id: id});
toDelete.destroy().then(this.deleted(id), this.failedToDelete);
return false
},
deleted: function(id) {
var options = { reset: true };
this.writer_posts.fetch(options).then(this.postsRecieved.bind(this), this.serverError);
},
postsRecieved: function(collection, response, options) {
this.render(collection);
if ($('#flash-error').is(':visible')){
$('#flash-error').hide();
}
$('#flash-success').show();
},
serverError: function() {
if ($('#flash-success').is(':visible')){
$('#flash-success').hide();
}
$('#flash-error').show();
},
failedToDelete: function() {
if ($('#flash-success').is(':visible')){
$('#flash-success').hide();
}
$('#flash-error').show();
},
render: function(postsObject) {
element = this.getElement();
var totalPerPage = postsObject.total_pages.total;
var posts = postsObject.posts;
React.renderComponent(new PostTable({posts: posts, maxPages: totalPerPage, deleteEvent: this.handleDeleteEvent.bind(this)}), element);
}
});
第一次使用这种渲染-效果很好。您会看到一个带有posts的表,然后单击delete,它会一直出现—从模型中删除它,一路调用集合进行渲染。从那里它得到总页面,帖子,然后将它们传递到组件,在这个阶段我得到:
未捕获类型错误:无法读取未定义的属性“parentNode”
有人有什么想法吗?在PostTable组件中,您是否显式地呈现了
元素?某些浏览器会在初始渲染后自动添加一个,这可能会导致此问题。显式渲染
应该可以解决这个问题。我使用的是chrome,我没有渲染tbody
我正在执行代码>虽然。。。我的react组件实际上呈现整个表,然后在其中呈现行的子组件。