Я пытаюсь заставить свой компонент Post работать, получая имя пользователя, который его опубликовал.Прямо сейчас, способ, которым это работает, состоит в том, что я регистрируюсь с пользователем (через Google или используя комбинированный адрес электронной почты / пароль), и я получаю данные этого пользователя как auth.currentUser.displayName
или электронная почта, uid и т.д ...
Когда я создаю сообщение, он принимает идентификатор пользователя, который является uid
, потому что он будет уникальным.
Теперь, когда я загружаю сообщения, я получаю post.name
, который изначально былимя пользователя (пока я не изменил его для хранения uid
вместо), но теперь я получаю идентификатор пользователя ....
Итак, мой вопрос: как я могу получить имя пользователя вместо идентификатора?

Как видно на картинке выше, имя в сообщениях - это идентификатор пользователя.Я хочу получить username
пользователя при отображении сообщений.Как я могу это сделать?
Надеюсь, в этом есть какой-то смысл ..
Вот мой код render ():
render() {
const { message, posts, error } = this.state;
const isInvalid = message === '';
return (
<div>
<form onSubmit={this.onSubmit}>
<p>
Posting as:{' '}
{auth.currentUser.displayName || auth.currentUser.email}
</p>
<textarea
value={message}
onChange={event =>
this.setState(byPropKey('message', event.target.value))
}
name="message"
placeholder="Message..."
/>
<button disabled={isInvalid} type="submit">
Post
</button>
{error && <p>{error.message}</p>}
</form>
<div>
<ul>
{posts.map(post => (
<li key={post.id}>
<h4>{post.message}</h4>
<p>posted by: {post.name}</p>
{post.name === auth.currentUser.uid ? (
<button
type="submit"
onClick={() => {
database.ref(`/posts/${post.id}`).remove();
}}
>
Delete Post
</button>
) : null}
</li>
))}
</ul>
</div>
</div>
);
}
Способ отображения сообщений:
componentDidMount() {
const postsRef = database.ref('posts');
postsRef.on('value', snapshot => {
let posts = snapshot.val();
let newState = [];
for (let post in posts) {
newState.push({
id: post,
name: posts[post].name,
message: posts[post].message
});
}
this.setState({
posts: newState
});
});
}
и onSubmit:
onSubmit = event => {
const { message } = this.state;
db.doCreatePost(auth.currentUser.uid, message)
.then(() => {
this.setState({
message: '',
error: null
});
})
.catch(error => {
this.setState(byPropKey('error', error));
});
event.preventDefault();
};