Kar*_*lor 2 javascript firebase reactjs google-cloud-firestore
在componentWillMount我正在注册一个onSnapshot函数来更新状态。
componentWillMount () {
todoRef.onSnapshot((doc) => {
let todos = []
doc.forEach(doc => {todos.push(doc.data())})
this.setState({
todos
})
})
}
Run Code Online (Sandbox Code Playgroud)
但是,firebase / firestore的工作方式是仅按随机键,因此当我取回数据时,其顺序不正确。
我知道有一个.orderByValue()函数,但是我尝试实现它,但似乎无法弄清楚。
我的裁判是 const todoRef = db.collection("todos");
因此,一旦获得对集合的引用,就可以进行排序查询。
todoRef.orderBy('createdAt').onSnapshot((docSnapShot) => {
let todos = []
docSnapShot.forEach(doc => {todos.push(doc.data())})
this.setState({
todos
})
})
Run Code Online (Sandbox Code Playgroud)
const [todos, setTodos] = useState([]);
useEffect(() => {
db.collection('todo_collection')
.orderBy('dateTime')
.onSnapshot((snapshots) => {
setTodos(snapshots.docs.map((doc) => doc.data()));
});
}, []);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |