Я изучаю React JS и хотел, чтобы мои руки были грязными. Я следую руководству в документах, которые строят упрощенную систему комментариев.Добавление изображения для взаимодействия компонента
Я следовал сходную структуру компонента, что учебник следующим образом:
Postbox
- PostList
- Сообщение
Вот это main.js :
var Post = React.createClass({
rawMarkup: function() {
var md = new Remarkable();
var rawMarkup = md.render(this.props.children.toString());
return {
__html: rawMarkup
};
},
render: function() {
return (< div className = "post" >
< h2 className = "commentTitle" > {
this.props.title
} < /h2> < span dangerouslySetInnerHTML = { this.rawMarkup() }/> < /div>
);
}
});
var PostList = React.createClass({
render: function() {
var postNodes = this.props.data.map(function(post) {
return (< Post title = {
post.title
} > By: {
post.by
} < img src = {
'placeholder_path'
}
/> </Post >);
});
return (< div className = "postList" > {
postNodes
} < /div>);
}
});
var PostBox = React.createClass({
loadPostsFromServer: function() {
$.ajax({
url: this.props.url,
dataType: 'json',
cache: false,
success: function(data) {
this.setState({
data: data
});
}.bind(this),
error: function(xhr, status, err) {
console.log("error " + data);
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
getInitialState: function() {
return {
data: []
};
},
componentDidMount: function() {
this.loadPostsFromServer();
setInterval(this.loadCommentsFromServer, this.props.pollInterval);
},
render: function() {
return (< div className = "postBox" >
< PostList data = {
this.state.data
}
/> </div >
);
}
});
ReactDOM.render(< PostBox url = "/api/posts"
pollInterval = {
2000
}
/>,
document.getElementById('content')
);
Как добавить изображение к компоненту Post? Я получаю это в качестве [объекта] в браузере?
почему placeholder_path находится в кавычки? вы посмотрели на сгенерированный html, чтобы узнать, что такое src-значение тега img html? – Caputo
Также вам нужно 'key' в цикле для' postNodes', чтобы быть уверенным. – activatedgeek
Что вы используете для тестирования? Измените свой вопрос с использованием уценки. –