如果已经获取数据,则此代码有效。
但是,如果我刷新页面并且不重新呈现元素,则无法使用。
如果值得一提,我还将使用Next JS。
class Books extends Component {
constructor(props) {
super(props);
this.state = {
book: []
}
this.renderBooks= this.renderBooks.bind(this);
}
renderBooks() {
let item;
let items = [];
return new Promise((resolve, reject) => {
this.props.ids.forEach(address => {
firebase.database().ref(`/books/${address}`)
.on('value', snap => {
item = snap.val();
});
items.push(item);
})
resolve(items);
});
}
async componentDidMount() {
try {
let res = [];
res = await this.renderBooks();
console.log(res);
this.setState({ book: res });
} catch (error) {
console.log(error);
this.setState(prevState => {
return { …Run Code Online (Sandbox Code Playgroud) 说我有NoSQL结构如下:
messages
chat_id (known)
message_id (generated automatically)
{author, timestamp, content}
Run Code Online (Sandbox Code Playgroud)
我也有users/分支,我可以看到两个用户的最后登录.
我想通过1个查询获取给定用户的未读消息数.
你会如何实现这样的任务?