Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在react.js中的映射中使用if?_Javascript_Reactjs_Jsx - Fatal编程技术网

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>
    }
}