我有一个jsbin除了一些显示失败的get请求之外不会引发控制台错误。除此之外,特定于我的代码没有错误,但它从未到达特定点。
The following Jsbin有一个问题。该代码适用于所有意图和目的,但它并不是同时存在的。如果你看看:
请注意据我所知,以下是有效的reactjs代码。
/**
* A component to display the individual post.
*/
var DisplayPosts = React.createClass({
render: function() {
if (this.props.posts === null) {
return (<div></div>);
}
var markDown = new Showdown.converter();
var post = this.props.posts.slice(0, 4).map(function(post) {
var content = markDown.makeHtml(post.content)
return (
<div>
<div className="single-post" key={post.id}>
<h3><a href={"http://writer.aisisplatform.com/blog#post/" + post.title}>{post.title}</a></h3>
<span dangerouslySetInnerHTML={{__html: content.split(/\s+/).slice(0, 40).join(' ') + '...'}} />
<hr />
<div className="float-right">
<i className="fa fa-comments"></i> {post.comments.length}
</div>
</div>
</div>
);
});
return (
<div>{post}</div>
)
}
});
并在console.log
内放置一个this.props.posts.slice(0, 4).map(function(post) {
,你永远不会到达那里。放在一边,你到达那里。在街区之后放置一个,你到达那里。将一个放在里面 - 你永远不会到达那里。
发生了什么事?
答案 0 :(得分:1)
在Array.slice()
上调用[]
时,它会返回[]
。然后,当Array.map
上调用[]
时,它永远不会调用迭代器函数。
所以看起来this.props.posts
在这种情况下是一个空数组。