Lan*_*nce 2 javascript dictionary promise lodash reactjs
我面临着一个与此问题非常相似的问题,但我使用Promise获取数据,并希望在它出现时将其呈现给DOM.将console.log()
显示所有项目正确.我认为我的问题是lodash.map返回一个<li>
元素数组,所以我试图调用this.renderItems()
以呈现(但renderItems()
似乎不存在).我做了一些非常规的事情,是否有更简单的方法,是否有相同的功能来取代我renderItems()
?
renderArticleHeadline: function(article) {
console.log('renderArticleHeadline', article.headline);
return (
<li>
{article.headline}
</li>
)
},
render: function() {
return (
<div>
<ul>
{
this.renderItems(
this.fetchFrontPageArticles().then(data => {
lodash.map(data, this.renderArticleHeadline)
})
)
}
</ul>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
小智 8
它应该是这样的
getInitialState: function() {
return {
items: []
};
},
renderArticleHeadline: function(article) {
return (
<li>
{article.headline}
</li>
);
},
componentDidMount: function() {
this.fetchFrontPageArticles().then(data => {
this.setState({
items: data
});
});
},
render: function() {
var items = lodash.map(this.state.items, this.renderArticleHeadline);
return (
<div>
<ul>
{items}
</ul>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
PS阅读思考反应