【发布时间】:2019-12-19 21:22:24
【问题描述】:
我是一名学生,刚开始做出反应。我正在创建一个思维树,其中的组件从数组中渲染出来,最终会有自己的孩子。我遇到了这个问题,其中呈现了一个额外的重复孩子(第一个孩子)。它只发生在三个之后,并且永远不会成为数据结构本身的一部分。我找不到很多类似的问题,如果您有任何想法,他们将不胜感激!
displayChildren = () => {
let num = 1;
let childs = [];
if(this.props.Data.Children == null)
return;
this.props.Data.Children.map(idea => {
childs.push(
<td key = {'R-'+this.props.Data.Children.length}>
<Idea key={'I-'+this.props.Data.Children.length} Data={idea} pushToTop={this.pushToTop}/>
</td>
);
console.log("Creating Child >"+ num++ +"< for "+this.props.Data.Title, childs);
});
console.log("FINISHED CHILDREN: ", childs);
return(<tr align="center" valign="top">{childs}</tr>);
}Picture: Two Children -> Working
图片:两个孩子日志 -> 数据中的两个孩子。
图片:三个孩子 -> 错误,重复渲染 -> 显示四个孩子
注意:连接基于数组的大小,即三个,因此只显示三个。
图片:三个子日志 -> 数据中的三个子
附加说明:我最终希望拥有多个用户并计划使用 Socket.IO 通过替换树的头部/原点来来回传递当前数据。使用 Sockets,它会根据用户的能力呈现额外的组件,然后很快就会使浏览器崩溃。
【问题讨论】:
标签: javascript arrays reactjs socket.io