将属性传递给递归模板?

时间:2015-02-11 21:15:28

标签: reactjs

使用递归模板时,是否存在比再次传递所有属性更优雅的解决方案?

<!-- CommentList.js -->
<Comment comment="comment" property="one" property="two"></Comment>

<!-- Comment.js -->
<p>{comment.message}</p>

<!-- loop over comment.children (more comments, same properties) -->
    <Comment comment="comment" property="one" property="two"></Comment>
<!-- end loop -->

1 个答案:

答案 0 :(得分:1)

如果要传输属性,可以使用JSX spread attributes将父控件的属性注入指定元素:

语法类似于EcmaScript 6中的语法(以及7中提出的内容):{...props}

例如,通过使用this.props,您将获得复制到子项中的父类的所有属性。 (它也可以是{...myObj} ...它将复制该示例中名为myObj的对象的值。)

因此,在您的示例中,它可能是:

return <Comment {...this.props} extra="stuff" />;

Here是您可以考虑的更多细节和其他一些选项。