Вы можете попробовать что-то вроде этого:
async function getMessages(){
const ref = await Firebase.firestore.collection('chatrooms');
const getDoc = ref.doc(this.props.item.key)
.onSnapshot(doc => {
if (!doc.exists) {
console.log('No such document!');
return;
}
//const { createdAt } = change.data();
const messages = doc.data();
const data = messages.messages;
//const { ...text } = data;
chatroomMessages.push({
data
})
return chatroomMessages;
console.log('Document data:', chatroomMessages);
});
this.setState({
messages : getDoc
});
}
попытаться инициализировать состояние внутри конструктора:
export default class Messages extends Component {
constructor(){
super();
this.state = {
messages : []
}
render() {
return (
<View style={{alignItems: 'center'}}>
</View>
);
}
}
и вызвать функцию для извлечения внутри компонента, монтировавшую
componentDidMount(){
getMessages();
}
и внутри вашего представления отображается как
<div>
{ this.state.messages.map( message => (
<div> { message && message } </div>
</div>