Я новичок в FireBase, и я следую учебнику от YouTube о том, как отображать сообщения в режиме реального времени с помощью FireBase.Я не получаю никакой ошибки и не могу получить сообщения из облачного пожарного хранилища.Может ли кто-нибудь любезно указать мне правильное направление, поскольку я перепробовал все, что могу, но, похоже, ничего не работает.Ниже приведен снимок экрана с моей базой данных пожарного магазина и моим кодом, который был сокращен во избежание любой сложности.
constructor(props) {
super(props);
this.state = {
message: '',
messages: [],
};
}
componentDidMount() {
firebase
.database()
.ref()
.child('/message-board/gFmLa20cKCzXilXSDGGq')
.once('value', snapshot => {
const data = snapshot.val();
if (data) {
const initMessages = [];
Object
.keys(data)
.forEach(message => initMessages.push(data[message]));
this.setState({
messages: initMessages
});
}
});
firebase
.database()
.ref()
.child('/message-board/gFmLa20cKCzXilXSDGGq')
.on('child_added', snapshot => {
const data = snapshot.val();
if (data) {
this.setState(prevState => ({
messages: [data, ...prevState.messages]
}));
}
});
}
renderItem({ item }) {
return (
<View style={styles.listItemContainer}>
<Text style={styles.listItem}>{item}</Text>
</View>
);
}
render() {
const { message, messages } = this.state;
let emptyComponent = null;
emptyComponent = (
<View style={styles.emptyComponent}>
<Text>No Messages Found</Text>
</View>
);
return (
<View style={styles.wrapper}>
<FlatList
data={messages}
renderItem={this.renderItem}
ListEmptyComponent={emptyComponent}
/>
</View>
</SafeAreaView>
);
}
}