Я пытаюсь показать список авторов и комментариев с этим кодом:
class CommentBox extends React.Component {
constructor(props) {
super(props);
this.state = { data: [] };
}
loadCommentsFromServer() {
const xhr = new XMLHttpRequest();
xhr.open("get", this.props.url, true);
xhr.onload = () => {
const data = JSON.parse(xhr.responseText);
this.setState({ data: data });
};
xhr.send();
}
componentDidMount() {
this.loadCommentsFromServer();
window.setInterval(
() => this.loadCommentsFromServer(),
this.props.pollInterval
);
}
render() {
return (
<div className="commentBox">
<h1>Comments</h1>
<CommentList data={this.state.data} />
<CommentForm />
</div>
);
}
}
class CommentList extends React.Component {
render() {
const commentNodes = this.props.data.map(comment => (
<Comment key={comment.id} author={comment.author}>
{comment.text}
</Comment>
));
return (
<div className="commentList" key={comment.id}>
{commentNodes}
</div>
);
}
}
class CommentForm extends React.Component {
render() {
return <div className="commentForm" />;
}
}
class Comment extends React.Component {
render() {
return (
<div className="comment">
<h2 className="commentAuthor">{this.props.author}</h2>
{this.props.children}
</div>
);
}
}
ReactDOM.render(
<CommentBox url="/comments" pollInterval={2000} />,
document.getElementById("content")
);
Это мой файл jsx, и проблема возникает, когда я запускаю приложение, в браузере мой comment.idстановится комментарием. Идет, как и все остальные атрибуты моего объекта, и он не может получить какое-либо свойство.У меня действительно нет выбора, я уже сменил модель на строчные, но проблема сохраняется.Я уже изменил объявление свойств в моем режиме, изменил свой контроллер и даже файл jsx.