Я пытаюсь передать компоненту Post атрибуты пользователя (displayName, Email ecc ...), но мне говорят, что это Undefined.
В посте у меня был объект "post"с помощью attr post.authorid, когда я пытаюсь передать "post.authorid" в коллекцию "/ users" с doc как ${ownProps.post.authorid}
, это приводит к сбою.
Компонент Post отображается на компонент PostList и отображается наКомпонент DashBoard.
Как я могу получить данные документа "/ users" с помощью Authorid сообщения?
POST COMPONENT CODE
import React from 'react'
import Card from '@material-ui/core/Card';
import CardHeader from '@material-ui/core/CardHeader';
import CardContent from '@material-ui/core/CardContent';
import { Typography } from '@material-ui/core'
import moment from 'moment'
const Post = ({post}) => {
return(
<Card >
<CardHeader title={post.title} />
<CardContent>
<Typography variant='subheading'>{post.description}</Typography>
<br/>
<Typography variant='overline'>Location: {post.location}</Typography>
<br/>
<p>{moment(post.date.toDate().toString()).fromNow()}</p>
</CardContent>
</Card>
)
}
export default Post
КОМПОНЕНТ ПОЧТОВОГО СПИСКА
import React from 'react'
import styled from 'styled-components'
import Post from './Post'
const PostListContainer = styled.div`
display:grid;
grid-gap:25px;
max-width:1000px;
margin: 0 auto;
padding-top:100px;
padding-bottom:20px;`
const PostList = ({posts}) => {
return(
<div>
<PostListContainer>
<h3>Post List:</h3>
{posts && posts.map(one => {
return(
<Post post={one} key={one.id}/>
)
})}
</PostListContainer>
</div>
)
}
export default PostList
КОМПОНЕНТ ПАНЕЛИ
import React from 'react'
import PostList from './PostList'
import AuthStatus from './AuthStatus';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
import { firestoreConnect } from 'react-redux-firebase';
import { compose } from 'redux';
const Dashboard = (props) => {
const { auth , posts } = props;
return(
<div>
<AuthStatus/>
<PostList posts={props.posts}/>
</div>
)
}
const mapStateToProps = (state) => {
return {
auth: state.firebase.auth,
posts: state.firestore.ordered.posts
}
}
export default compose(connect(mapStateToProps),
firestoreConnect([{
collection: 'posts',
orderBy:['date','desc']
}])
)(Dashboard)