Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
当数据中没有值时有条件地显示占位符(ReactJS)_Reactjs - Fatal编程技术网

当数据中没有值时有条件地显示占位符(ReactJS)

当数据中没有值时有条件地显示占位符(ReactJS),reactjs,Reactjs,我有一个包含图像的json文件,我通过映射数据将它们传递到前端。当所有项目都有一个图像时,一切看起来都很棒。但是如果图像丢失,响应性就会中断,看起来就不太对劲。所以,我想显示一个占位符来代替“丢失的照片” 这是我的data.json文件的一个小版本 exports.administration = [ { id:'1', image: '/assets/images/media/christopher-walken.jpg', name:

我有一个包含图像的json文件,我通过映射数据将它们传递到前端。当所有项目都有一个图像时,一切看起来都很棒。但是如果图像丢失,响应性就会中断,看起来就不太对劲。所以,我想显示一个占位符来代替“丢失的照片”

这是我的data.json文件的一个小版本

exports.administration = [
    {
        id:'1',
        image: '/assets/images/media/christopher-walken.jpg',
        name: "Christopher Walken",
    },
    {
        id:'2',
        image: '',
        name: "Jane Doe",
    },
    {
        id:'3',
        image: '/assets/images/media/keanu-reeves.jpg',
        name: "Keanu Reeves",
    },
];
这是我的JSX文件

class Administration extends Component {
    constructor(props) {
       super(props);
       this.state = {
            //showImage: true, 
       };
    }

    handleImage = () => this.setState({
       //if there is no image in the data, show the placeholder.png
    });

    render() {
        return (
            <div>
                {administrationData.map((row, index) => (
                    <Card className="custom-card">
                        <CardText>
                            <Row>
                                <Col xs={12} sm={3}>
                                    { //this the condition I looking for// this.state.showImage
                                    ?
                                        <img style={styles.image} src={row.image} alt={row.name} />
                                    :
                                        <img src='/assets/images/placeholder.png' alt="Not Available" />
                                    }
                                </Col>
                            </Row>
                        </CardText>
                    </Card>
                ))}
            </div>
        );
    }
}

export default Administration;
类管理扩展组件{
建造师(道具){
超级(道具);
此.state={
//showImage:没错,
};
}
handleImage=()=>this.setState({
//如果数据中没有图像,则显示placeholder.png
});
render(){
返回(
{administrationData.map((行,索引)=>(
{//这是我要查找的条件//this.state.showImage
?
:
}
))}
);
}
}
出口违约管理;
有点像是个新手


提前感谢各位。

这里不需要三元图像的状态,因为您已经有一个字段可以告诉您图像是否存在

我会做一些类似的事情:

{(row.image !== '') ? Image : Placeholder}

您正在使用css图像的值来显示占位符或图像。我读对了吗?我的图像在json文件中,而不是在我的样式中。我键入了错误的名称,我会修复它,它应该使用
row.image
.yessss!!就这样!非常感谢我的朋友!慢慢地但肯定地,我会掌握这个窍门的