Reactjs 在引号中使用jsvar进行反应
我刚开始学习如何使用 我想为JSON数组中的每个元素使用ID。在引用之后,我在代码中尝试了它,但没有成功 它显示注释-[对象] 不幸的是${key}也不起作用了 这是我的密码:Reactjs 在引号中使用jsvar进行反应,reactjs,Reactjs,我刚开始学习如何使用 我想为JSON数组中的每个元素使用ID。在引用之后,我在代码中尝试了它,但没有成功 它显示注释-[对象] 不幸的是${key}也不起作用了 这是我的密码: var data = [ {id: 1, author: "Pete Hunt", text: "Sample Comment 1"}, {id: 2, author: "Virginia Woolf", text: "Sample Comment 2"} ] var CommentList
var data = [
{id: 1, author: "Pete Hunt", text: "Sample Comment 1"},
{id: 2, author: "Virginia Woolf", text: "Sample Comment 2"}
]
var CommentList = React.createClass({
render: function() {
var commentNodes = this.props.data.map(function(comment, key) {
return (
<div className="commentListElement" key={key} id={"comment-"+{key}} >
Key: {key} <br />
ID: {comment.id} <br />
Commented by {comment.author} <br />
Comment: {comment.text}
</div>
);
});
return (
<div className="commentList">
{commentNodes}
</div>
);
}
})
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
Hello, world! I am a CommentBox.
<CommentList data={data} />
</div>
);
}
});
ReactDOM.render(
<CommentBox />,
document.getElementById('content')
);
但我在浏览器中看到了这一点
我做错了什么?在花括号内的JSX中,您应该编写javascript表达式,这样才能工作:
id={"comment-"+key}
此外,将数组索引用作react元素的键不是一种好的做法。您应该使用某种类型的业务标识符,例如comment.id.在JSX中,在花括号内,您应该编写javascript表达式,这样就可以:
id={"comment-"+key}
此外,将数组索引用作react元素的键不是一种好的做法。您应该使用某种类型的业务标识符,例如comment.id.只要您使用前缀或后缀使其唯一,数组索引就可以正常工作,因为并非所有情况下您都有唯一的Idarray索引,只要您使用前缀或后缀使其唯一,就可以正常工作,因为并非所有情况下您都有唯一的id