【发布时间】:2021-04-01 22:44:12
【问题描述】:
我是全栈开发的新手,我正在尝试编写一些代码来更好地理解 React JS 和 Material UI 的前端。我使用卡片组件在后端显示帖子,但我想显示个人资料图片(通过 CardMedia)循环,所以我决定像这样覆盖组件:
import React, { Component } from 'react'
import {Link} from 'react-router-dom';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import DeletePost from './DeletePost'
import PostDialog from './PostDialog'
//MUI
import withStyles from '@material-ui/core/styles/withStyles'
import CardMedia from '@material-ui/core/CardMedia';
import CardContent from '@material-ui/core/CardContent';
import Card from '@material-ui/core/Card';
import Typography from '@material-ui/core/Typography';
import ChatIcon from '@material-ui/icons/Chat'
import MyButton from '../../utils/MyButton';
const styles = {
card: {
display: "flex",
marginBottom:20,
},
image:{
minWidth: 100,
minHeight: 100,
borderRadius: '50%',
objectFit: 'cover'
},
content:{
objectFit: 'cover'
}
}
class Post extends Component {
return (
<Card className={{root: classes.card}}>
<CardMedia
image={userImage}
title="Profile image"
className={classes.image}
/>
<CardContent className={classes.content}>
<Typography
variant="h5"
component={Link}
to={`/users/${userHandle}`}
color="primary">
{userHandle}
</Typography>
{deleteButton}
<Typography variant="body2" color="textSecondary">
{dayjs(createdAt).fromNow()}
</Typography>
<Typography variant="body1">{body}</Typography>
</CardContent>
</Card>
)
}
Post.propTypes = {
user: PropTypes.object.isRequired,
post: PropTypes.object.isRequired,
classes: PropTypes.object.isRequired,
openDialog:PropTypes.bool
}
const mapStateToProps = state =>({
user: state.user
})
export default connect(mapStateToProps)(withStyles(styles)(Post));
但是图像看起来是椭圆形的并且被拉伸了。我该如何解决这个问题?
【问题讨论】:
-
您的代码不完整,很难诊断问题。你能发布你的完整代码吗?
-
我已经添加了我所有的代码
标签: javascript css reactjs material-ui