Javascript 如何在react.js中的映射中使用if?
我有一个函数,其中有一段代码,但它不返回任何内容,只保留为空Javascript 如何在react.js中的映射中使用if?,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我有一个函数,其中有一段代码,但它不返回任何内容,只保留为空 mostrarPostsNoValidos() { if(this.state.posts.length > 0) { this.state.posts.map((post, key) => { if(post.validado === "0"){ return ( <a href={`/post/
mostrarPostsNoValidos() {
if(this.state.posts.length > 0) {
this.state.posts.map((post, key) => {
if(post.validado === "0"){
return (
<a href={`/post/${post.id}/${post.slug}`} key={key}>
<div className="card post">
<div className="card-body">
{post.titulo}
</div>
</div>
</a>
);
}
});
} else {
return <h3>No hay posts que mostrar aún</h3>
}
}
mostrarPostsNoValidos(){
如果(this.state.posts.length>0){
this.state.posts.map((post,key)=>{
如果(post.validado==“0”){
返回(
);
}
});
}否则{
不返回mostrar aún的干草桩
}
}
解决方案:添加“返回此.state.posts.map”
mostrarPostsNoValidos(){
如果(this.state.posts.length>0){
返回此.state.posts.map((post,key)=>{
如果(post.validado==“0”){
返回(
);
}
});
}否则{
不返回mostrar aún的干草桩
}
}
完美!保持原样。返回this.state.posts.map…您的return
语句正在从map
的回调函数返回。如果条件等于true
,则外部函数mostrarPostsNoValidos
不会返回任何内容。只需在调用map
之前的第三行添加return
。尽管如此,我还是要指出,map
并不适合您的情况。更像是reduce
,或者你必须将map
包装在filter
中。甚至不引用你从哪里得到的解决方案-到你自己的问题。。
mostrarPostsNoValidos() {
if(this.state.posts.length > 0) {
return this.state.posts.map((post, key) => {
if(post.validado === "0"){
return (
<a href={`/post/${post.id}/${post.slug}`} key={key}>
<div className="card post">
<div className="card-body">
{post.titulo}
</div>
</div>
</a>
);
}
});
} else {
return <h3>No hay posts que mostrar aún</h3>
}
}